当前位置: 首页 > news >正文

S3D 模型对象权限检查

效果展示:

image

image

代码如下

 

 public class CheckPG : BaseModalCommand{public override void OnStart(int instanceId, object argument){base.OnStart(instanceId, argument);if (ClientServiceProvider.SelectSet.Count == 0){System.Windows.Forms.MessageBox.Show("请选择对象");return;}var ss = ClientServiceProvider.SelectSet.SelectedObjects.FirstOrDefault();var ft = new Filter();ft.Definition.AddHierarchy(ss is ISystem ? HierarchyTypes.System : HierarchyTypes.Assembly, new System.Collections.ObjectModel.ReadOnlyCollection<BusinessObject>(new BusinessObject[] { ss }), true);var objs = ClientServiceProvider.WorkingSet.GetObjectsByFilter(ft, ClientServiceProvider.WorkingSet.ActiveConnection);var fn = $"C:\\{(ss is ISystem ? HierarchyTypes.System.ToString() : HierarchyTypes.Assembly.ToString())} Objects Under {ss.GetName()}-{NsAPI.CommonTools.DateTimeStamp}.xlsx";FileInfo newFile = new FileInfo(fn);if (newFile.Exists){newFile.Delete(); // ensures we create a new workbooknewFile = new FileInfo(fn);}using (OfficeOpenXml.ExcelPackage package = new OfficeOpenXml.ExcelPackage(newFile)){var ws = package.Workbook.Worksheets.Add("Sheet1");var listObjects = new List<ObjectInfo>();foreach (var item in objs){try{listObjects.Add(new ObjectInfo(item));}catch (System.Exception){continue;}}ws.Cells[1, 1].LoadFromCollection(listObjects, true);ws.Cells.AutoFitColumns();package.Save();package.Dispose();}Process.Start(fn);}}

 

  public class ObjectInfo{public string ClassName { get; set; }public string PGName { get; set; }public string PGLocation { get; set; }public string BOCDisPlayName { get; set; }public string BOCPath { get; set; }public string BOCName { get; set; }public string ObjectID { get; set; }public string Name { get; set; }public string UserCreated { get; set; }public string UserLastModified { get; set; }public string DateCreated { get; set; }public string DateLastModified { get; set; }public ObjectInfo(BusinessObject curObj){ClassName = curObj.ClassInfo.IsUserClass ? curObj.UserClassInfo.DisplayName : curObj.ClassInfo.DisplayName;PGName = curObj.PermissionGroup.Name;PGLocation = curObj.PermissionGroup.PGLocation.ToString();var bocInfo = ((curObj.UserClassInfo != null) ? curObj.UserClassInfo : curObj.ClassInfo).BOC;BOCDisPlayName = bocInfo.DisplayName;BOCPath = bocInfo.BOCPath;BOCName = bocInfo.Name;ObjectID = curObj.ObjectID;Name = curObj.ToString();UserCreated = curObj.UserCreated;UserLastModified = curObj.UserLastModified;DateCreated = curObj.DateCreated.ToString();DateLastModified = curObj.DateLastModified.ToString();}}

 

http://www.jsqmd.com/news/35631/

相关文章:

  • Python实现社交网络分析SNA公司董事数据与跨行业网络桥接识别可视化|附代码数据
  • 2025年热门的铝制口红管子实力厂家TOP推荐榜
  • 架构篇:如何设计一个“看得懂、用得爽、管得好”还能“适度扩展”的系统?
  • 2025年知名的角行程电动执行器行业内知名厂家排行榜
  • Nacos用法
  • P4854 MloVtry的咸鱼树
  • 2025年靠谱的除四害专业好评推荐
  • ChatGPT Atlas 發佈了,但你真的需要嗎?
  • Python电动汽车充电网络优化研究——泊松过程、排队、贪心算法、模拟退火、聚类、差分演化DE、双目标动态规划、滚动时域预测控制MPC分析储能调度、电网负荷数据|附代码数据
  • html css网页制作成品——HTML+CSS盐津铺子网页设计(5页)附源码 - 实践
  • 遷移 AppleID
  • 2025年厉害的员工福利商城好评如潮
  • 2025年评价高的服装无纺布手提袋厂家选购指南与推荐
  • 2025年比较好的管型端子厂家推荐及选购参考榜
  • 2025年优秀的耐火隔热软管由壬厂家推荐及选择建议
  • python线程间怎么通信 - 实践
  • 2025年比较好的有机生态红茶批发销售
  • Ubuntu 软件安装中心闪退
  • 西部数据移动硬盘忘记密码怎么办
  • 2025年质量好的刺绣布袋定制厂家推荐及采购指南
  • 2025年第39周数字取证与事件响应技术动态汇总
  • 2025年比较好的精酿啤酒机厂家最新推荐排行榜
  • Linux misfit task
  • JavaSE----- 流程控制
  • 李宏毅机器学习笔记20 - 实践
  • 性能监测火焰图原理及搭建
  • 基于Java的车辆租赁管理平台/租车系统源码+运行步骤
  • 2025年优秀的郑州注册公司高评分服务推荐
  • 实用指南:【Java】P15 Java 深入理解 “this” 关键字
  • 2025年服务贴心的离婚财产分割律师口碑指数榜