|
NX Open C++ 参考指南 2406 v1.1
|
表达式集合 更多...
#include <ExpressionCollection.hxx>
类 | |
| class | iterator |
Public 类型 | |
| enum | ExportMode { ExportModeWorkPart , ExportModeAllInAssyTree , ExportModeAllParts } |
| enum | ImportMode { ImportModeReplace , ImportModeDontReplace , ImportModeDeleteImports } |
| enum | SortType { SortTypeAlphaNum , SortTypeTimeStamp , SortTypeReverseTimeStamp } |
| enum | Type { TypeAll , TypeAttribute , TypeInterpart , TypeMeasure , TypeSystem , TypeUser , TypeUserAndGeometry , TypeUserExcludeSystem , TypeUserSpecified } |
表达式集合
表示表达式的集合。 使用 NXOpen::ExpressionCollection 以确保正确处理角度相关表达式。
要获取此类的实例,请参考 NXOpen::BasePart
创建于NX3.0.0。
标识所需的表达式类型。在某些情况下,类型可能会重叠。例如,如果原始创建者已从部件中删除,系统表达式也可能被视为用户表达式。
| NXString NXOpen::ExpressionCollection::AskInterpartLhsName | ( | NXOpen::Expression * | sourceExpression | ) |
为覆盖式部件间表达式引用创建名称。 例如,若目标部件为 A,源表达式为部件 B 中的 X,则 NX 会创建/返回 A::x 覆盖式部件间表达式引用的名称。
| sourceExpression | 源部件中的表达式 |
| NXString NXOpen::ExpressionCollection::AskInterpartRhsName | ( | NXOpen::Expression * | sourceExpression | ) |
为部件间表达式引用创建公式。 例如,若目标部件为 A,源表达式为部件 B 中的 X,则 NX 会创建/返回 A::x 部件间表达式引用的公式。
| sourceExpression | 源部件中的表达式 |
| iterator NXOpen::ExpressionCollection::begin | ( | ) |
返回一个指向第一个元素的迭代器。
| void NXOpen::ExpressionCollection::ChangeInterpartReferences | ( | const char * | oldPartName, |
| const char * | newPartName ) |
将“owning_part”部件中所有对“old_part_name”部件中表达式的引用,更改为对“new_part_name”部件中表达式的引用。
创建于 NX4.0.0.
许可要求:无
| oldPartName | 引用正在被替换的部件名称 |
| newPartName | 要引用的新部件名称 |
| void NXOpen::ExpressionCollection::ChangeInterpartReferences | ( | const char * | oldPartName, |
| const char * | newPartName, | ||
| bool | doUpdate, | ||
| bool | doChecking ) |
将“owning_part”部件中所有对“old_part_name”部件中表达式的引用,更改为对“new_part_name”部件中表达式的引用。
创建于 NX7.5.0.
许可要求:无
| oldPartName | 引用正在被替换的部件名称 |
| newPartName | 要引用的新部件名称 |
| doUpdate | 如果为 true 则执行更新 |
| doChecking | 如果为 true 则执行检查 |
| void NXOpen::ExpressionCollection::ChangeInterpartReferences | ( | const NXString & | oldPartName, |
| const NXString & | newPartName ) |
将“owning_part”中对零件“old_part_name”的所有表达式引用更改为对零件“new_part_name”的表达式引用。
创建于 NX4.0.0.
许可证要求:无
| oldPartName | 正在替换其引用的零件名称 |
| newPartName | 要引用的新零件名称 |
| void NXOpen::ExpressionCollection::ChangeInterpartReferences | ( | const NXString & | oldPartName, |
| const NXString & | newPartName, | ||
| bool | doUpdate, | ||
| bool | doChecking ) |
将“owning_part”部件中所有对“old_part_name”部件中表达式的引用,更改为对“new_part_name”部件中表达式的引用。
创建于 NX7.5.0.
许可要求:无
| oldPartName | 引用正在被替换的部件名称 |
| newPartName | 要引用的新部件名称 |
| doUpdate | 如果为 true 则执行更新 |
| doChecking | 如果为 true 则执行检查 |
| void NXOpen::ExpressionCollection::ChangeInterpartReferencesFor4gd | ( | NXOpen::Assemblies::Component * | targetPartOccTag, |
| const char * | oldSourcePartName, | ||
| NXOpen::Assemblies::Component * | newSourcePartOccTag, | ||
| bool | doUpdate, | ||
| bool | doChecking ) |
用于协同设计的接口
创建于 NX11.0.0.
许可要求:无
| targetPartOccTag | 目标部件的部件实例 |
| oldSourcePartName | 引用正在被替换的部件名称 |
| newSourcePartOccTag | 新源部件的部件实例 |
| doUpdate | 如果为 true 则执行更新 |
| doChecking | 如果为 true 则执行检查 |
| void NXOpen::ExpressionCollection::ChangeInterpartReferencesFor4gd | ( | NXOpen::Assemblies::Component * | targetPartOccTag, |
| const NXString & | oldSourcePartName, | ||
| NXOpen::Assemblies::Component * | newSourcePartOccTag, | ||
| bool | doUpdate, | ||
| bool | doChecking ) |
用于协同设计的接口
创建于 NX11.0.0.
许可要求:无
| targetPartOccTag | 目标部件的部件实例 |
| oldSourcePartName | 引用正在被替换的部件名称 |
| newSourcePartOccTag | 新源部件的部件实例 |
| doUpdate | 如果为 true 则执行更新 |
| doChecking | 如果为 true 则执行检查 |
| NXOpen::Expression * NXOpen::ExpressionCollection::Create | ( | const char * | expressionString | ) |
创建一个无单位的数字表达式。公式也应为无单位的数字。
| expressionString | 表达式字符串。必须采用 "名称=公式" 格式。例如:"x = 1.2 * y + z"。 |
| NXOpen::Expression * NXOpen::ExpressionCollection::Create | ( | const NXString & | expressionString | ) |
创建一个无单位的数字表达式。公式也应为无单位的数字。
| expressionString | 表达式字符串。必须采用 "名称=公式" 格式。例如:"x = 1.2 * y + z"。 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateExpression | ( | const char * | expressionType, |
| const char * | expressionString ) |
创建指定类型的表达式。若为数值类型,创建无单位表达式。
| expressionType | 表达式类型,如"Number"、"String"、"Boolean"、"Integer"、"Point"和"Vector" |
| expressionString | 完整的表达式字符串,必须为"名称=公式"格式,例如"x = 1.2 * y + z"。 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateExpression | ( | const NXString & | expressionType, |
| const NXString & | expressionString ) |
创建指定类型的表达式。若为数值类型,创建无单位表达式。
| expressionType | 表达式类型,如"Number"、"String"、"Boolean"、"Integer"、"Point"和"Vector" |
| expressionString | 完整的表达式字符串,必须为"名称=公式"格式,例如"x = 1.2 * y + z"。 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateExpressionWithUnit | ( | const char * | expressionType, |
| const char * | expressionString, | ||
| NXOpen::Unit * | unitType ) |
创建指定类型的表达式。 公式计算出的单位必须与给定的表达式单位兼容。设置units为NULL可创建无单位表达式,此时公式也应是无单位数值。 点和向量表达式可指定单位。参见表达式对话框获取可用单位。
| expressionType | 表达式类型,如"Number"、"String"、"Boolean"、"Integer"、"Point"和"Vector" |
| expressionString | 表达式字符串,必须为"名称=公式"格式,例如"x = 1.2 * y + z"。 |
| unitType | 表达式的单位 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateExpressionWithUnit | ( | const NXString & | expressionType, |
| const NXString & | expressionString, | ||
| NXOpen::Unit * | unitType ) |
创建指定类型的表达式。 公式计算出的单位必须与给定的表达式单位兼容。设置units为NULL可创建无单位表达式,此时公式也应是无单位数值。 点和向量表达式可指定单位。参见表达式对话框获取可用单位。
| expressionType | 表达式类型,如"Number"、"String"、"Boolean"、"Integer"、"Point"和"Vector" |
| expressionString | 表达式字符串,必须为"名称=公式"格式,例如"x = 1.2 * y + z"。 |
| unitType | 表达式的单位 |
| NXOpen::InterpartExpressionsBuilder * NXOpen::ExpressionCollection::CreateInterpartExpressionsBuilder | ( | ) |
创建部件间表达式。
创建于 NX8.5.0。
许可要求:无
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateNumberExpression | ( | const char * | expressionString, |
| NXOpen::Unit * | unitType ) |
创建数值表达式。 公式的计算单位必须与表达式的给定单位兼容。设置单位为 NULL 可创建无单位表达式,此时公式也应为无单位数值。
| expressionString | 表达式字符串。格式必须为:"name = formula"。 例如:"x = 1.2 * y + z"。 |
| unitType | 表达式的单位 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateNumberExpression | ( | const NXString & | expressionString, |
| NXOpen::Unit * | unitType ) |
创建数值表达式。 公式的计算单位必须与表达式的给定单位兼容。设置单位为 NULL 可创建无单位表达式,此时公式也应为无单位数值。
| expressionString | 表达式字符串。格式必须为:"name = formula"。 例如:"x = 1.2 * y + z"。 |
| unitType | 表达式的单位 |
| NXOpen::ReplaceExpressionsBuilder * NXOpen::ExpressionCollection::CreateReplaceExpressionsBuilder | ( | ) |
替换表达式。
创建于 NX10.0.0。
许可要求:无
| NXOpen::SuppressByExpressionBuilder * NXOpen::ExpressionCollection::CreateSuppressByExpressionBuilder | ( | ) |
创建 NXOpen::SuppressByExpressionBuilder 对象
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateSystemExpression | ( | const char * | expressionString | ) |
创建无单位的数值型系统表达式。 公式的计算单位也应是无单位的。 创建系统表达式后,应将其与对象(如草图尺寸)关联。关联对象被删除时,系统表达式也会被删除。
| expressionString | 完整表达式字符串或仅表达式的公式。 可通过提供格式为 "name = formula" 的表达式字符串指定表达式名称, 例如:"x = 1.2 * y + z"。若未提供名称,系统会自动分配名称。 例如,若表达式字符串仅为公式 "1.2 * y + z",系统会自动分配名称。 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateSystemExpression | ( | const char * | expressionType, |
| const char * | expressionString ) |
创建指定类型的系统表达式。如果是数值类型,将创建无单位表达式,公式也应无单位。创建后应将其关联到对象(如草图尺寸)。系统表达式会在关联对象删除时一并删除。
| expressionType | 表达式类型,如"Number"、"String"、"Boolean"、"Integer"、"Point"和"Vector" |
| expressionString | 完整表达式字符串或仅公式。可通过"name = formula"格式指定名称,例如"x = 1.2 * y + z"。若未指定名称,系统会自动分配。 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateSystemExpression | ( | const NXString & | expressionString | ) |
创建无单位的数值型系统表达式。 公式的计算单位也应是无单位的。 创建系统表达式后,应将其与对象(如草图尺寸)关联。关联对象被删除时,系统表达式也会被删除。
| expressionString | 完整表达式字符串或仅表达式的公式。 可通过提供格式为 "name = formula" 的表达式字符串指定表达式名称, 例如:"x = 1.2 * y + z"。若未提供名称,系统会自动分配名称。 例如,若表达式字符串仅为公式 "1.2 * y + z",系统会自动分配名称。 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateSystemExpression | ( | const NXString & | expressionType, |
| const NXString & | expressionString ) |
创建指定类型的系统表达式。若为数值类型,创建无单位表达式,公式也应为无单位。 创建系统表达式后,应将其与对象关联,如草图尺寸。系统表达式在关联对象删除时会被删除。
| expressionType | 表达式类型,如"Number"、"String"、"Boolean"、"Integer"、"Point"和"Vector" |
| expressionString | 完整的表达式字符串或仅表达式的公式。可通过提供"名称=公式"格式的expression_string为方程指定名称,例如"x = 1.2 * y + z"。若未提供名称,系统会自动分配。例如,若expression_string仅为公式"1.2 * y + z",系统会自动分配名称。 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateSystemExpressionFromReferenceString | ( | const char * | reference | ) |
从工程图注释格式的引用字符串创建系统字符串表达式。仅支持表达式(X)和属性(W)。 控制字符序列的格式如下: 表达式 - Xm.n@exp_name 部件属性 - W@attr_title 对象属性 - W!obj_id@attr_title
| reference | 工程图注释格式的引用字符串 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateSystemExpressionFromReferenceString | ( | const NXString & | reference | ) |
从工程图注释格式的引用字符串创建系统字符串表达式。仅支持表达式(X)和属性(W)。 控制字符序列的格式如下: 表达式 - Xm.n@exp_name 部件属性 - W@attr_title 对象属性 - W!obj_id@attr_title
| reference | 工程图注释格式的引用字符串 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateSystemExpressionWithUnit | ( | const char * | expressionType, |
| const char * | expressionString, | ||
| NXOpen::Unit * | unitType ) |
创建指定类型的系统表达式,并指定单位。公式的计算单位必须与给定的表达式单位兼容。将单位设为 NULL 可创建无单位表达式,此时公式也应为无单位数值。点和向量表达式可使用长度单位。
| expressionType | 表达式类型,如"Number"、"String"、"Boolean"、"Integer"、"Point"和"Vector" |
| expressionString | 表达式字符串,必须为"name = formula"格式,例如"x = 1.2 * y + z"。 |
| unitType | 表达式的单位 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateSystemExpressionWithUnit | ( | const NXString & | expressionType, |
| const NXString & | expressionString, | ||
| NXOpen::Unit * | unitType ) |
创建指定类型的系统表达式,并指定单位。公式的计算单位必须与给定的表达式单位兼容。将单位设为 NULL 可创建无单位表达式,此时公式也应为无单位数值。点和向量表达式可使用长度单位。
| expressionType | 表达式类型,如"Number"、"String"、"Boolean"、"Integer"、"Point"和"Vector" |
| expressionString | 表达式字符串,必须为"name = formula"格式,例如"x = 1.2 * y + z"。 |
| unitType | 表达式的单位 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateSystemExpressionWithUnits | ( | const char * | expressionString, |
| NXOpen::Unit * | unitType ) |
创建带单位的系统数值表达式。 公式的计算单位必须与表达式的给定单位兼容。通过将单位设为NULL可创建无单位表达式。创建系统表达式后,应将其与对象关联,如草图尺寸。系统表达式会在其关联的对象被删除时一并删除。
注意:在新的应用程序代码中避免使用此遗留函数。 给定公式的计算单位通常必须与正在编辑的表达式的单位兼容。若公式无单位,则公式计算出的值将被视为使用表达式的单位。
若表达式涉及角度,此函数可能会设置修改后的方程公式: 如有需要,可通过设置环境变量UGII_KF_DONT_CONVERT_FORMULAS_FOR_RADIAN_UNITS来抑制此函数执行的修改。 若表达式的单位与公式的角度维度不匹配,遗留系统要求应用如下转换因子(无论arcAngle使用何种单位):
arcLength = arcRadius * arcAngle * pi() / 180. 单位:mm
此转换因子已不再需要,使用会导致错误结果。表达式加载时会被修改以移除该转换因子。但遗留代码可能仍期望添加该转换因子,因此此函数在将其写入表达式对象前会将其移除。注意会添加之前所需转换因子的倒数。函数不会尝试实际移除现有转换因子文本,因此结果表达式如下:
arcLength = (arcRadius * arcAngle * pi() / 180.) * (180. / pi()) 单位:mm
要正确创建表达式,请改用NXOpen::ExpressionCollection::CreateSystemNumberExpression,使用如下公式:
arcLength = arcRadius * arcAngle 单位:mm
| expressionString | 完整的表达式字符串或仅表达式的公式。 可通过提供格式为"name = formula"的expression_string指定方程名称。 例如:"x = 1.2 * y + z"。若未提供名称,系统将自动分配名称。 例如:若expression_string仅为公式"1.2 * y + z",系统会自动分配名称。 |
| unitType | 表达式的单位 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateSystemExpressionWithUnits | ( | const NXString & | expressionString, |
| NXOpen::Unit * | unitType ) |
创建带单位的系统数值表达式。 公式的计算单位必须与表达式的给定单位兼容。通过将单位设为NULL可创建无单位表达式。创建系统表达式后,应将其与对象关联,如草图尺寸。系统表达式会在其关联的对象被删除时一并删除。
注意:在新的应用程序代码中避免使用此遗留函数。 给定公式的计算单位通常必须与正在编辑的表达式的单位兼容。若公式无单位,则公式计算出的值将被视为使用表达式的单位。
若表达式涉及角度,此函数可能会设置修改后的方程公式: 如有需要,可通过设置环境变量UGII_KF_DONT_CONVERT_FORMULAS_FOR_RADIAN_UNITS来抑制此函数执行的修改。 若表达式的单位与公式的角度维度不匹配,遗留系统要求应用如下转换因子(无论arcAngle使用何种单位):
arcLength = arcRadius * arcAngle * pi() / 180. 单位:mm
此转换因子已不再需要,使用会导致错误结果。表达式加载时会被修改以移除该转换因子。但遗留代码可能仍期望添加该转换因子,因此此函数在将其写入表达式对象前会将其移除。注意会添加之前所需转换因子的倒数。函数不会尝试实际移除现有转换因子文本,因此结果表达式如下:
arcLength = (arcRadius * arcAngle * pi() / 180.) * (180. / pi()) 单位:mm
要正确创建表达式,请改用NXOpen::ExpressionCollection::CreateSystemNumberExpression,使用如下公式:
arcLength = arcRadius * arcAngle 单位:mm
| expressionString | 完整的表达式字符串或仅表达式的公式。 可通过提供格式为"name = formula"的expression_string指定方程名称。 例如:"x = 1.2 * y + z"。若未提供名称,系统将自动分配名称。 例如:若expression_string仅为公式"1.2 * y + z",系统会自动分配名称。 |
| unitType | 表达式的单位 |
| NXString NXOpen::ExpressionCollection::CreateSystemName | ( | const char * | idSuffix, |
| const char * | nameSuffix ) |
创建新的系统表达式名称。在创建新的复合名称(如"pNNN_x")时使用,该复合名称随后将用于NXOpen::ExpressionCollection::CreateSystemExpressionWithUnits 等调用中。 例如,idSuffix="cae"、nameSuffix="_turn"可能会创建"pcaeNNN_turn"。 如果需要默认名称,则不需要此调用。
| idSuffix | 要添加到系统标识符(默认"p")后的字符串后缀。 |
| nameSuffix | 要添加到默认名称后的字符串后缀。 |
| NXString NXOpen::ExpressionCollection::CreateSystemName | ( | const NXString & | idSuffix, |
| const NXString & | nameSuffix ) |
创建新的系统表达式名称。在创建新的复合名称(如"pNNN_x")时使用,该复合名称随后将用于NXOpen::ExpressionCollection::CreateSystemExpressionWithUnits 等调用中。 例如,idSuffix="cae"、nameSuffix="_turn"可能会创建"pcaeNNN_turn"。 如果需要默认名称,则不需要此调用。
| idSuffix | 要添加到系统标识符(默认"p")后的字符串后缀。 |
| nameSuffix | 要添加到默认名称后的字符串后缀。 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateSystemNumberExpression | ( | const char * | expressionString, |
| NXOpen::Unit * | unitType ) |
创建带单位的系统数值表达式。表达式的单位必须与公式计算出的单位兼容。设置units为NULL可创建无单位表达式。创建系统表达式后,应将其与对象关联,如草图尺寸。系统表达式在关联对象删除时会被删除。
| expressionString | 完整的表达式字符串或仅表达式的公式。可通过提供"名称=公式"格式的expression_string为方程指定名称,例如"x = 1.2 * y + z"。若未提供名称,系统会自动分配。例如,若expression_string仅为公式"1.2 * y + z",系统会自动分配名称。 |
| unitType | 表达式的单位 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateSystemNumberExpression | ( | const NXString & | expressionString, |
| NXOpen::Unit * | unitType ) |
创建带单位的系统数值表达式。表达式的单位必须与公式计算出的单位兼容。设置units为NULL可创建无单位表达式。创建系统表达式后,应将其与对象关联,如草图尺寸。系统表达式在关联对象删除时会被删除。
| expressionString | 完整的表达式字符串或仅表达式的公式。可通过提供"名称=公式"格式的expression_string为方程指定名称,例如"x = 1.2 * y + z"。若未提供名称,系统会自动分配。例如,若expression_string仅为公式"1.2 * y + z",系统会自动分配名称。 |
| unitType | 表达式的单位 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateWithUnits | ( | const char * | expressionString, |
| NXOpen::Unit * | unitType ) |
创建带单位的数值表达式。 公式的计算单位必须与表达式的给定单位兼容。设置单位为 NULL 可创建无单位表达式。
注意:在新应用程序代码中避免使用此遗留函数。 给定公式的计算量纲通常必须与待编辑表达式的量纲匹配。如果公式的单位被确定为无单位,则此函数会假设其单位与表达式的单位匹配。
若表达式涉及角度,此函数可能会设置修改后的方程公式。 对于某些零件,如需抑制此函数执行的修改,可设置环境变量 UGII_KF_DONT_CONVERT_FORMULAS_FOR_RADIAN_UNITS。 若表达式和公式的单位不具有匹配的角度量纲,遗留系统要求按如下方式应用转换因子(无论 arcAngle 使用什么单位):
arcLength = arcRadius * arcAngle * pi() / 180. 单位: mm
这种转换不再需要,实际上会导致错误结果。表达式在加载时会被修改以移除该转换因子。但遗留代码可能期望需要此转换因子并已添加,因此此函数会在将其写入表达式对象前将其移除。注意会添加之前所需转换因子的倒数。该函数不会尝试实际移除现有转换因子文本。
arcLength = (arcRadius * arcAngle * pi() / 180.) * (180. / pi()) 单位: mm
要正确创建表达式,请使用 NXOpen::ExpressionCollection::CreateNumberExpression 替代,公式如下:
arcLength = arcRadius * arcAngle 单位: mm
| expressionString | 表达式字符串。格式必须为:"name = formula"。 例如:"x = 1.2 * y + z"。 |
| unitType | 表达式的单位 |
| NXOpen::Expression * NXOpen::ExpressionCollection::CreateWithUnits | ( | const NXString & | expressionString, |
| NXOpen::Unit * | unitType ) |
创建一个带单位的数字表达式。公式的计算单位必须与给表达式的单位兼容。通过将单位设置为 NULL 可创建无单位表达式。
注意:在新的应用代码中避免使用此遗留函数。 给定公式的计算维度通常必须与正在编辑的表达式的维度匹配。如果公式的单位被确定为无单位,则此函数会假定其单位与表达式的单位匹配。
此函数在处理涉及角度的表达式时可能会设置修改后的方程公式。如果某些部件需要,可以通过设置环境变量 UGII_KF_DONT_CONVERT_FORMULAS_FOR_RADIAN_UNITS 来抑制此修改。 如果表达式的单位和公式的单位的角度维度不匹配,则遗留系统要求应用如下转换因子(无论 arcAngle 使用什么单位):
arcLength = arcRadius * arcAngle * pi() / 180. 单位:mm
此方式不再需要,实际上会导致错误结果。表达式在加载时会被修改以删除此转换因子。但遗留代码可能期望需要它并因此添加了该因子,所以此函数在将其写入表达式对象之前会先将其移除。需要注意的是,会添加与之前所需转换因子相反的因子。函数不会尝试实际移除现有的转换因子文本。
arcLength = (arcRadius * arcAngle * pi() / 180.) * (180. / pi()) 单位:mm
要正确创建表达式,请改用 NXOpen::ExpressionCollection::CreateNumberExpression 函数,公式如下:
arcLength = arcRadius * arcAngle 单位:mm
| expressionString | 表达式字符串。必须采用 "名称=公式" 格式。例如:"x = 1.2 * y + z"。 |
| unitType | 表达式的单位 |
| void NXOpen::ExpressionCollection::Delete | ( | NXOpen::Expression * | expression | ) |
删除表达式
在 NX4.0.0 中创建。
许可要求: 无
| expression | 要删除的表达式 |
| void NXOpen::ExpressionCollection::Edit | ( | NXOpen::Expression * | expression, |
| const char * | newFormula ) |
编辑表达式。若 ExpressionCollection 属于表达式所属的部件,则此方法与通过 NXOpen::Expression::SetRightHandSide 编辑表达式无区别。
注意:在新应用代码中,避免对数值表达式使用此遗留函数。给定公式的计算维度通常必须与待编辑表达式的维度匹配。若公式无单位,则公式计算的值会被视为表达式自身单位下的值。
若表达式涉及角度,此函数可能会设置修改后的公式。该函数执行的修改(如部分部件需要)可通过设置环境变量 UGII_KF_DONT_CONVERT_FORMULAS_FOR_RADIAN_UNITS 来抑制。若表达式的单位与公式的角度维度不匹配,遗留系统要求应用转换因子,如下所示(无论 arcAngle 使用何种单位):
arcLength = arcRadius * arcAngle * pi() / 180. 现有单位:mm
此转换已不再需要,实际上会导致错误结果。表达式在加载时会被修改以移除该转换因子。但遗留代码可能仍期望添加该转换因子,因此此函数会在写入表达式对象前将其移除,并添加先前所需转换因子的倒数。该函数不会尝试实际移除现有转换因子文本。
arcLength = (arcRadius * arcAngle * pi() / 180.) * (180. / pi()) 现有单位:mm
若要正确编辑表达式,请改用 NXOpen::ExpressionCollection::EditExpression ,公式如下:
arcLength = arcRadius * arcAngle 现有单位:mm
在 NX3.0.0 中创建。
许可证要求:无
| expression | 待编辑的表达式, 注意:若此表达式不属于 ExpressionCollection 所属的部件,会在该部件中创建新表达式 |
| newFormula | 要修改为的新公式 |
| void NXOpen::ExpressionCollection::Edit | ( | NXOpen::Expression * | expression, |
| const NXString & | newFormula ) |
编辑表达式。若 ExpressionCollection 属于表达式所属的部件,则此方法与通过 NXOpen::Expression::SetRightHandSide 编辑表达式无区别。
注意:在新应用代码中,避免对数值表达式使用此遗留函数。给定公式的计算维度通常必须与待编辑表达式的维度匹配。若公式无单位,则公式计算的值会被视为表达式自身单位下的值。
若表达式涉及角度,此函数可能会设置修改后的公式。该函数执行的修改(如部分部件需要)可通过设置环境变量 UGII_KF_DONT_CONVERT_FORMULAS_FOR_RADIAN_UNITS 来抑制。若表达式的单位与公式的角度维度不匹配,遗留系统要求应用转换因子,如下所示(无论 arcAngle 使用何种单位):
arcLength = arcRadius * arcAngle * pi() / 180. 现有单位:mm
此转换已不再需要,实际上会导致错误结果。表达式在加载时会被修改以移除该转换因子。但遗留代码可能仍期望添加该转换因子,因此此函数会在写入表达式对象前将其移除,并添加先前所需转换因子的倒数。该函数不会尝试实际移除现有转换因子文本。
arcLength = (arcRadius * arcAngle * pi() / 180.) * (180. / pi()) 现有单位:mm
若要正确编辑表达式,请改用 NXOpen::ExpressionCollection::EditExpression ,公式如下:
arcLength = arcRadius * arcAngle 现有单位:mm
在 NX3.0.0 中创建。
许可证要求:无
| expression | 待编辑的表达式, 注意:若此表达式不属于 ExpressionCollection 所属的部件,会在该部件中创建新表达式 |
| newFormula | 要修改为的新公式 |
| void NXOpen::ExpressionCollection::EditExpression | ( | NXOpen::Expression * | expression, |
| const char * | newFormula ) |
编辑表达式。
注: 如果表达式集合所属的部件与表达式所属的部件相同,则此方法与通过 NXOpen::Expression::GetFormula 编辑表达式无区别。
在 NX1847.0.0 中创建。
许可要求: 无
| expression | 要编辑的表达式 注: 如果此表达式不属于表达式集合所属的部件,则会在表达式集合所属的部件中创建新表达式 |
| newFormula | 要将表达式的公式更改为的内容 |
| void NXOpen::ExpressionCollection::EditExpression | ( | NXOpen::Expression * | expression, |
| const NXString & | newFormula ) |
编辑表达式。
注: 如果表达式集合所属的部件与表达式所属的部件相同,则此方法与通过 NXOpen::Expression::GetFormula 编辑表达式无区别。
在 NX1847.0.0 中创建。
许可要求: 无
| expression | 要编辑的表达式 注: 如果此表达式不属于表达式集合所属的部件,则会在表达式集合所属的部件中创建新表达式 |
| newFormula | 要将表达式的公式更改为的内容 |
| void NXOpen::ExpressionCollection::EditExpressionWithUnits | ( | NXOpen::Expression * | expression, |
| NXOpen::Unit * | unitType, | ||
| const char * | newFormula ) |
使用单位编辑表达式。 给定的单位以及公式的计算单位必须与表达式的现有单位兼容。
注: 如果不更改单位,且表达式集合所属的部件与表达式所属的部件相同,则此方法与通过 NXOpen::Expression::SetRightHandSide 编辑表达式无区别。
在 NX1847.0.0 中创建。
许可要求: 无
| expression | 要编辑的表达式, 注: 如果此表达式不属于表达式集合所属的部件,则会在表达式集合所属的部件中创建新表达式 |
| unitType | 表达式的单位 |
| newFormula | 要将表达式的公式更改为的内容 |
| void NXOpen::ExpressionCollection::EditExpressionWithUnits | ( | NXOpen::Expression * | expression, |
| NXOpen::Unit * | unitType, | ||
| const NXString & | newFormula ) |
使用单位编辑表达式。 给定的单位以及公式的计算单位必须与表达式的现有单位兼容。
注: 如果不更改单位,且表达式集合所属的部件与表达式所属的部件相同,则此方法与通过 NXOpen::Expression::SetRightHandSide 编辑表达式无区别。
在 NX1847.0.0 中创建。
许可要求: 无
| expression | 要编辑的表达式, 注: 如果此表达式不属于表达式集合所属的部件,则会在表达式集合所属的部件中创建新表达式 |
| unitType | 表达式的单位 |
| newFormula | 要将表达式的公式更改为的内容 |
| void NXOpen::ExpressionCollection::EditWithUnits | ( | NXOpen::Expression * | expression, |
| NXOpen::Unit * | unitType, | ||
| const char * | newFormula ) |
编辑带单位的表达式。仅当表达式尚未被引用时,才允许更改现有表达式的单位。 给定的单位以及公式计算出的单位必须与表达式的现有单位兼容。
注意:在新的应用程序代码中避免使用此旧函数。 给定公式的计算维度通常必须与要编辑的表达式的维度匹配。如果公式无单位,则公式计算出的值 被假定为表达式的单位。
如果表达式涉及角度,此函数可能会设置修改后的方程公式。 此函数执行的修改(如需在某些部件中禁用)可通过设置环境变量 UGII_KF_DONT_CONVERT_FORMULAS_FOR_RADIAN_UNITS 来抑制。 如果表达式和公式的单位不具有匹配的角度维度,则旧系统要求应用以下转换因子 (无论 arcAngle 使用什么单位):
arcLength = arcRadius * arcAngle * pi() / 180. 现有单位:mm
此转换因子不再需要,实际上会导致错误结果。表达式在加载时会被修改以删除此转换因子。 但是,旧代码可能期望需要它并因此添加了它,因此此函数会在将其写入表达式对象之前将其删除。 请注意,会添加先前需要的转换因子的倒数。该函数不会尝试实际删除现有转换因子的文本。
arcLength = (arcRadius * arcAngle * pi() / 180.) * (180. / pi()) 现有单位:mm
若要正确编辑表达式,请改用 NXOpen::ExpressionCollection::EditExpression, 使用如下公式:
arcLength = arcRadius * arcAngle 现有单位:mm
注意,如果不更改单位,则此方法与通过 NXOpen::Expression::SetRightHandSide 编辑表达式(当 ExpressionCollection 由表达式所属的部件拥有时)之间没有区别。
创建于 NX4.0.0。
许可证要求:无
| expression | 要编辑的表达式, 注意:如果此表达式不属于 ExpressionCollection 所属的部件,将在 ExpressionCollection 所属的部件中创建一个新表达式 |
| unitType | 表达式的单位 |
| newFormula | 要将表达式的公式更改为的内容 |
| void NXOpen::ExpressionCollection::EditWithUnits | ( | NXOpen::Expression * | expression, |
| NXOpen::Unit * | unitType, | ||
| const NXString & | newFormula ) |
编辑带单位的表达式。仅当表达式尚未被引用时,才允许更改现有表达式的单位。 给定的单位以及公式计算出的单位必须与表达式的现有单位兼容。
注意:在新的应用程序代码中避免使用此旧函数。 给定公式的计算维度通常必须与要编辑的表达式的维度匹配。如果公式无单位,则公式计算出的值 被假定为表达式的单位。
如果表达式涉及角度,此函数可能会设置修改后的方程公式。 此函数执行的修改(如需在某些部件中禁用)可通过设置环境变量 UGII_KF_DONT_CONVERT_FORMULAS_FOR_RADIAN_UNITS 来抑制。 如果表达式和公式的单位不具有匹配的角度维度,则旧系统要求应用以下转换因子 (无论 arcAngle 使用什么单位):
arcLength = arcRadius * arcAngle * pi() / 180. 现有单位:mm
此转换因子不再需要,实际上会导致错误结果。表达式在加载时会被修改以删除此转换因子。 但是,旧代码可能期望需要它并因此添加了它,因此此函数会在将其写入表达式对象之前将其删除。 请注意,会添加先前需要的转换因子的倒数。该函数不会尝试实际删除现有转换因子的文本。
arcLength = (arcRadius * arcAngle * pi() / 180.) * (180. / pi()) 现有单位:mm
若要正确编辑表达式,请改用 NXOpen::ExpressionCollection::EditExpression, 使用如下公式:
arcLength = arcRadius * arcAngle 现有单位:mm
注意,如果不更改单位,则此方法与通过 NXOpen::Expression::SetRightHandSide 编辑表达式(当 ExpressionCollection 由表达式所属的部件拥有时)之间没有区别。
创建于 NX4.0.0。
许可证要求:无
| expression | 要编辑的表达式, 注意:如果此表达式不属于 ExpressionCollection 所属的部件,将在 ExpressionCollection 所属的部件中创建一个新表达式 |
| unitType | 表达式的单位 |
| newFormula | 要将表达式的公式更改为的内容 |
|
inline |
返回一个指向最后一个元素之后位置的迭代器。
| void NXOpen::ExpressionCollection::ExportToFile | ( | NXOpen::ExpressionCollection::ExportMode | exportMode, |
| const char * | fileName, | ||
| NXOpen::ExpressionCollection::SortType | sortType ) |
将表达式导出到文本文件,或者如果 'file_name' 为 NULL,则在列表窗口中列出表达式。如果有任何错误,则抛出异常。
注意:如果文件已存在,则抛出异常且不覆盖文件。
创建于 NX4.0.0.
许可证要求:无
| exportMode | 导出模式 |
| fileName | 要导出表达式的文件名规格。 |
| sortType | 导出表达式的排序方式 |
| void NXOpen::ExpressionCollection::ExportToFile | ( | NXOpen::ExpressionCollection::ExportMode | exportMode, |
| const NXString & | fileName, | ||
| NXOpen::ExpressionCollection::SortType | sortType ) |
将表达式导出到文本文件,或者如果 'file_name' 为 NULL,则在列表窗口中列出表达式。如果有任何错误,则抛出异常。
注意:如果文件已存在,则抛出异常且不覆盖文件。
创建于 NX4.0.0.
许可证要求:无
| exportMode | 导出模式 |
| fileName | 要导出表达式的文件名规格。 |
| sortType | 导出表达式的排序方式 |
| NXOpen::Expression * NXOpen::ExpressionCollection::FindObject | ( | const char * | journalIdentifier | ) |
查找与日志中记录的给定表达式名称对应的 NXOpen::Expression 。 对象在不同软件版本中返回的名称可能不同,但软件新版本在 FindObject 传入其旧版本的表达式名称时,应能找到同一对象。通常,此方法不应在手写代码中使用,仅用于支持日志的录制和回放。 如果找不到具有给定表达式名称的对象,将抛出异常。
| journalIdentifier | 要查找的表达式名称 |
| NXOpen::Expression * NXOpen::ExpressionCollection::FindObject | ( | const NXString & | journalIdentifier | ) |
查找与日志中记录的给定表达式名称对应的 NXOpen::Expression 。 对象在不同软件版本中返回的名称可能不同,但软件新版本在 FindObject 传入其旧版本的表达式名称时,应能找到同一对象。通常,此方法不应在手写代码中使用,仅用于支持日志的录制和回放。 如果找不到具有给定表达式名称的对象,将抛出异常。
| journalIdentifier | 要查找的表达式名称 |
| NXOpen::Expression * NXOpen::ExpressionCollection::GetAttributeExpression | ( | NXOpen::NXObject * | object, |
| const char * | title, | ||
| NXOpen::NXObject::AttributeType | type, | ||
| int | index ) |
获取指定属性标题/类型的属性表达式。
| object | 属性所属的对象 |
| title | 属性标题 |
| type | 属性类型 |
| index | 属性为数组时的数组索引(否则使用 -1) |
| NXOpen::Expression * NXOpen::ExpressionCollection::GetAttributeExpression | ( | NXOpen::NXObject * | object, |
| const NXString & | title, | ||
| NXOpen::NXObject::AttributeType | type, | ||
| int | index ) |
获取指定属性标题/类型的属性表达式。
| object | 属性所属的对象 |
| title | 属性标题 |
| type | 属性类型 |
| index | 属性为数组时的数组索引(否则使用 -1) |
| std::vector< NXOpen::Expression * > NXOpen::ExpressionCollection::GetExpressionsOfType | ( | NXOpen::ExpressionCollection::Type | type, |
| bool | visibleOnly ) |
返回零件中指定NXOpen::ExpressionCollection::Type 类型的表达式数组。
| type | 表达式的NXOpen::ExpressionCollection::Type 类型。 |
| visibleOnly | 仅获取可见表达式的筛选器。 |
| std::vector< NXString > NXOpen::ExpressionCollection::GetInterpartReferences | ( | ) |
返回从“owning_part”中的表达式引用的零件列表。
| void NXOpen::ExpressionCollection::GetInterpartReferencesFor4gd | ( | std::vector< NXString > & | referencedPartNames, |
| std::vector< NXString > & | referencedDispNames, | ||
| std::vector< NXOpen::NXObject * > & | referencedParts ) |
协同设计接口
创建于 NX11.0.0.
许可证要求:无
| referencedPartNames | 内部零件名称数组 |
| referencedDispNames | 显示零件名称数组 |
| referencedParts | occ 零件和部件 occ 数组 |
| void NXOpen::ExpressionCollection::GetInterpartReferencesWithDisplayNames | ( | std::vector< NXString > & | referencedPartNames, |
| std::vector< NXString > & | referencedDispNames ) |
返回从“owning_part”中的表达式引用的零件列表。
创建于 NX10.0.0.
许可证要求:无
| referencedPartNames | 内部零件名称数组 |
| referencedDispNames | 显示零件名称数组 |
| std::vector< NXOpen::Expression * > NXOpen::ExpressionCollection::GetVisibleExpressions | ( | ) |
返回部件中可见的“Number”类型表达式数组。
| std::vector< int > NXOpen::ExpressionCollection::GetWarningsOnExpression | ( | NXOpen::Expression * | expression, |
| std::vector< NXString > & | warningStrings ) |
返回为表达式生成的警告字符串
| expression | 查询其警告的零件中的表达式 |
| warningStrings | 为输入表达式生成的警告字符串数组 |
| void NXOpen::ExpressionCollection::ImportFromFile | ( | const char * | fileName, |
| NXOpen::ExpressionCollection::ImportMode | importMode, | ||
| bool * | expModified, | ||
| std::vector< NXString > & | errorMessages ) |
从文件导入表达式。输入文件规格。调用此方法时,更改不会应用到系统,直到调用 Update::DoUpdate 。
创建于 NX4.0.0.
许可证要求:无
| fileName | 要导入表达式的文件名规格 |
| importMode | 导入模式 |
| expModified | 如果任何表达式受导入影响,则为 TRUE |
| errorMessages | 翻译后的错误消息列表 |
| void NXOpen::ExpressionCollection::ImportFromFile | ( | const NXString & | fileName, |
| NXOpen::ExpressionCollection::ImportMode | importMode, | ||
| bool * | expModified, | ||
| std::vector< NXString > & | errorMessages ) |
从文件导入表达式。输入文件规范。调用此方法时,更改不会应用到系统,直到调用 Update::DoUpdate。
在 NX4.0.0 中创建。
许可要求: 无
| fileName | 要从中导入表达式的文件名规范 |
| importMode | 导入模式 |
| expModified | 如果导入影响了任何表达式,则为 TRUE |
| errorMessages | 翻译后的错误消息列表 |
| bool NXOpen::ExpressionCollection::RemoveInterpartReferences | ( | const char * | partName | ) |
从零件中移除部件间引用。如果给出零件名称,则移除对该零件的引用。如果 part_name 为 NULL,则移除对所有零件的所有引用。
右侧的引用被替换为数值,左侧的引用被删除。例如:
x = comp::len + z --> x = 3 + z
comp::height=5 --> (已删除)
如果任何引用被移除,函数返回 TRUE,否则返回 FALSE。
| partName | 要移除引用的零件名称 |
| bool NXOpen::ExpressionCollection::RemoveInterpartReferences | ( | const NXString & | partName | ) |
从零件中移除部件间引用。如果给出零件名称,则移除对该零件的引用。如果 part_name 为 NULL,则移除对所有零件的所有引用。
右侧的引用被替换为数值,左侧的引用被删除。例如:
x = comp::len + z --> x = 3 + z
comp::height=5 --> (已删除)
如果任何引用被移除,函数返回 TRUE,否则返回 FALSE。
| partName | 要移除引用的零件名称 |
| void NXOpen::ExpressionCollection::Rename | ( | NXOpen::Expression * | expression, |
| const char * | newName ) |
更改表达式的名称。
创建于 NX4.0.0.
许可要求:无
| expression | 要重命名的表达式 |
| newName | 表达式的新名称 |
| void NXOpen::ExpressionCollection::Rename | ( | NXOpen::Expression * | expression, |
| const NXString & | newName ) |
更改表达式的名称。
创建于 NX4.0.0.
许可要求:无
| expression | 要重命名的表达式 |
| newName | 表达式的新名称 |
| void NXOpen::ExpressionCollection::Replace | ( | const char * | currentName, |
| const char * | replaceName ) |
将对一个表达式的引用替换为对另一个表达式的引用。
创建于 NX10.0.0.
许可要求:无
| currentName | 当前表达式名称 |
| replaceName | 替换表达式名称 |
| void NXOpen::ExpressionCollection::Replace | ( | const NXString & | currentName, |
| const NXString & | replaceName ) |
将对一个表达式的引用替换为对另一个表达式的引用。
创建于 NX10.0.0.
许可要求:无
| currentName | 当前表达式名称 |
| replaceName | 替换表达式名称 |
| void NXOpen::ExpressionCollection::ReplaceAttributeExpression | ( | NXOpen::Expression * | expression, |
| NXOpen::NXObject * | object, | ||
| const char * | title, | ||
| NXOpen::NXObject::AttributeType | type, | ||
| int | index ) |
替换指定属性标题/类型的属性表达式。
创建于 NX8.0.0。
许可要求:无
| expression | 属性表达式 |
| object | 属性所属的对象 |
| title | 属性标题 |
| type | 属性类型 |
| index | 属性为数组时的数组索引(否则使用 -1) |
| void NXOpen::ExpressionCollection::ReplaceAttributeExpression | ( | NXOpen::Expression * | expression, |
| NXOpen::NXObject * | object, | ||
| const NXString & | title, | ||
| NXOpen::NXObject::AttributeType | type, | ||
| int | index ) |
替换指定属性标题/类型的属性表达式。
创建于 NX8.0.0。
许可要求:无
| expression | 属性表达式 |
| object | 属性所属的对象 |
| title | 属性标题 |
| type | 属性类型 |
| index | 属性为数组时的数组索引(否则使用 -1) |
| void NXOpen::ExpressionCollection::ReplaceRhsInterpartExpression | ( | NXOpen::Expression * | oldRhsIpe, |
| NXOpen::Expression * | newRhsIpe ) |
用新的部件间表达式引用替换旧的部件间表达式引用。例如,将右侧部件间表达式x="A"::x替换为y="B"::y,结果将是右侧部件间表达式x="B"::y以及表达式y=x。
创建于 NX11.0.0.
许可证要求:无
| oldRhsIpe | 要替换的右侧部件间表达式 |
| newRhsIpe | 用于替换的右侧部件间表达式 |
| void NXOpen::ExpressionCollection::SystemRename | ( | NXOpen::Expression * | expression, |
| const char * | newName ) |
重命名表达式但不将系统表达式标记为用户表达式。
创建于 NX6.0.0.
许可要求:无
| expression | 要重命名的表达式 |
| newName | 表达式的新名称 |
| void NXOpen::ExpressionCollection::SystemRename | ( | NXOpen::Expression * | expression, |
| const NXString & | newName ) |
重命名表达式但不将系统表达式标记为用户表达式。
创建于 NX6.0.0.
许可要求:无
| expression | 要重命名的表达式 |
| newName | 表达式的新名称 |
| tag_t NXOpen::ExpressionCollection::Tag | ( | ) | const |
返回此对象的标签。
| void NXOpen::ExpressionCollection::UpdateForExternalChange | ( | ) |
强制整个表达式子系统进行更新
创建于 NX1953.0.0.
许可证要求:无