Esempio n. 1
0
        public override void Run()
        {
            var surfaceObjects = Graphics.GetSelectedObjects()
                                 .Select(d => Geometry.Manager.GetSurfaceObject(d.Name))
                                 .Where(so => so != null)
                                 .ToArray();

            var surfaceObjectNames = surfaceObjects
                                     .Select(so => so.Name)
                                     .ToArray();

            ObjectBrowserHelper.RemoveItems(CurrentProjectVersion, surfaceObjectNames);
            foreach (var so in surfaceObjects)
            {
                var helper      = new ArrangementHelper(so);
                var path        = helper.GetArrangementPath(CurrentProjectVersion);
                var lastArrName = path[path.Length - 1];
                path[path.Length - 1] = "STR*PILL" + lastArrName.Substring(lastArrName.IndexOf('_'));
                try {
                    ObjectBrowserHelper.AddItems(CurrentProjectVersion, path, surfaceObjectNames);
                } catch (Exception e) { }
                helper.AssignStructureType(CurrentProjectVersion, "2-PILLAR");
            }
            var drawables = surfaceObjectNames.Select(n => Napa.Alfred.GraphicsService.DrawableManager.GetFromCache(n)).Where(d => d != null).ToArray();

            Napa.Alfred.GraphicsService.SelectionWorkflow.Activate(drawables);
        }
Esempio n. 2
0
        public void Run(IProjectVersion version, string name)
        {
            try {
                var so = version.GeometryManager.GetSurfaceObject(name);
                if (so == null)
                {
                    return;
                }

                var helper = new ArrangementHelper(so);
                var path   = helper.GetArrangementPath(version);
                ObjectBrowserHelper.AddItems(version, path, new[] { name });
                helper.AssingStructureType(version);
                helper.AssignLabels(version);
            } catch (Exception e) {
                Console.WriteLine(e.StackTrace);
                throw e;
            }
        }