S3D,CodeList赋值示例

关键词: CodeList,赋值, CodelistItem, PropertyInformation , SetPropertyValue, MetadataManager 问题描述:使用 SetPropertyValue对CodeList赋值时,未成功。 问题处理: SetPropertyValue有17种方法重载,选择合适的重载方法,是赋值成功的必要条件。 三种不同签名,赋值CodeList的方法。 //第一种方法–>public virtual void SetPropertyValue(PropertyValue oPropertyValue) var oPartOcc = ClientServiceProvider.SelectSet.SelectedObjects[ 0 ]; PropertyValueCodelist propertyValueCodelist = new PropertyValueCodelist ( "IJFabricationInfo" , "FabricationRequirement" , 15 ); oPartOcc.SetPropertyValue(propertyValueCodelist); transactionManager.Commit( "A Method" ); ———————————————————— ———————————————————— //第二种方法–> public void SetPropertyValue(CodelistItem iValue, PropertyInformation oPropInfo) var oPartOcc = ClientServiceProvider.SelectSet.SelectedObjects[ 0 ]; PropertyValue parOccProperty_FabricationRequirement = oPartOcc.GetPropertyValue( "IJFabricationInfo" , "FabricationRequirement" ); PropertyInformation oPropertyInformation = parOccProperty_FabricationRequirement.PropertyInfo; //Item => Item.Value == 15 Code值是15对应的By Pipe erector for loose material CodelistItem oCodelistItem = parOccProperty_FabricationRequirement.PropertyInfo.CodeListInfo.CodelistMembers.FirstOrDefault(Item => Item.Value == 15 ); oPartOcc.SetPropertyValue(oCodelistItem, oPropertyInformation); transactionManager.Commit( "B Method" ); ———————————————– ———————————————– //第三种方法–>public void SetPropertyValue(CodelistItem iValue, string sInterfaceName, string sPropertyName) var oPartOcc = ClientServiceProvider.SelectSet.SelectedObjects[ 0 ]; //获得元数据 MetadataManager metadata = MiddleServiceProvider.SiteMgr.ActiveSite.ActivePlant.PlantCatalog.MetadataMgr; CodelistInformation oCodelistInformation = metadata.GetCodelistInfo( "FabricationRequirement" , "CMNSCH" ); //Code值是15对应的By Pipe erector for loose material CodelistItem oCodelistItem = oCodelistInformation.GetCodelistItem( 15 ); oPartOcc.SetPropertyValue(oCodelistItem, "IJFabricationInfo" , "FabricationRequirement" ); transactionManager.Commit( "C Method" );

原文链接:查看原文  文章来源:耳朵先僧
🔗 分享 0

上5篇 more...

下5篇 more...