S3D,根据Volume创建WbsItem

关键词: Volume,Space,WBS,Wbs Item 问题描述:PipingLine中的Parts,根据Volume进行分组,在WBS中创建相应的Wbs Item。 问题处理:用原生Filter中的Volume功能,或用自定义程序 CustomCommand实现。自定义程序核心逻辑是判断Poisiton是否在Volume内。 //输入Position,返回包含此Poisiton的全部Volumen集合的名字 public List< string > GetVolumeFromPoint ( Position oPosition ) { //声明List容器,存Volume名字 List< string > SpaceNames = new List< string >(); object ComPosition = COMConverters.ConvertSOMMathToCOM(oPosition); //modelQueryHelper在using GSCADVolumeAttributeHelper; IJElements oIJElements = modelQueryHelper.GetVolumesEncompassAPoint((IJDPosition)ComPosition, VolumeType.Space); try { //获取Volume名字,用来给WbsItem命名 for ( int i = 1 ; i <= oIJElements.Count; i++) { BusinessObject businessObject = COMConverters.ConvertCOMBOToBO(oIJElements[i]); PropertyValueString proString = businessObject.GetPropertyValue( "IJNamedItem" , "Name" ) as PropertyValueString; string name = proString.PropValue; if (name.Contains( "WBS" )) { SpaceNames.Add(proString.PropValue); } } } catch (Exception){} return SpaceNames; }

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

上5篇 more...

下5篇 more...