Пример #1
0
        /// <summary>
        /// Iterates through a style collection (derived from StyleCollectionBase), and
        /// prints out the name of each style it contains.
        /// </summary>
        /// <param name="objectType"></param>
        /// <param name="pf"></param>
        /// <param name="myStylesRoot"></param>
        public void ListCollection(Type objectType, PropertyInfo pf, object myStylesRoot, ArrayList styleList)
        {
            object res = objectType.InvokeMember(pf.Name,
                                                 BindingFlags.GetProperty, null, myStylesRoot, new object[0]);

            if (res.Equals(null))
            {
                return;
            }

            StyleCollectionBase scBase = (StyleCollectionBase)res;

            if (scBase.Count == 0)
            {
                return;
            }

            foreach (ObjectId sbid in scBase)
            {
                StyleBase stylebase = ts.GetObject(sbid, OpenMode.ForWrite, false, true) as StyleBase;

                RenameOption renameOption = new RenameOption(stylebase, pf, styleList, objectType, myStylesRoot);
                if (StartForm.ExportStyles == true)
                {
                    AddStyleToList(stylebase, pf, styleList);
                }

                //Check rename options
                if (StartForm.RenameOption == true)
                {
                    if (StartForm.OldNameStyle.EndsWith("*") && StartForm.OldNameStyle.StartsWith("*"))
                    {
                        renameOption.RenameContain();
                    }
                    else if (StartForm.OldNameStyle.StartsWith("*"))
                    {
                        renameOption.RenameEndWith();
                    }
                    else if (StartForm.OldNameStyle.EndsWith("*"))
                    {
                        renameOption.RenameStartWith();
                    }
                    else
                    {
                        renameOption.RenameAccurate();
                    }
                }
                if (StartForm.TextToAdd != "" && StartForm.AddTxtToBegin == true)
                {
                    renameOption.AddToBegin();
                }
                else if (StartForm.TextToAdd != "" && StartForm.AddTxtToEnd == true)
                {
                    renameOption.AddToEnd();
                }
            }
        }
Пример #2
0
        private static ObjectId GetStyleId(ObjectId idEnt, string styleName)
        {
            ObjectId resStyleId = ObjectId.Null;
            var      ent        = idEnt.GetObject(OpenMode.ForRead) as AecDb.Entity;

            if (ent == null)
            {
                return(resStyleId);
            }

            var civil = Autodesk.Civil.ApplicationServices.CivilApplication.ActiveDocument;
            StyleCollectionBase styles = null;

            if (ent is FeatureLine)
            {
                styles = civil.Styles.FeatureLineStyles;
            }

            resStyleId = GetStyle(styleName, styles);
            return(resStyleId);
        }
Пример #3
0
        private static ObjectId GetStyle(string styleName, StyleCollectionBase styles)
        {
            ObjectId resStyleId = ObjectId.Null;

            if (styles == null)
            {
                return(resStyleId);
            }
            if (styles.Contains(styleName))
            {
                resStyleId = styles[styleName];
            }
            else
            {
                resStyleId = styles.Add(styleName);
                var fls = resStyleId.GetObject(OpenMode.ForWrite) as FeatureLineStyle;
                var displayStylePlan = fls.GetFeatureLineDisplayStylePlan();
                displayStylePlan.Color      = Color.FromRgb(255, 0, 255);
                displayStylePlan.Lineweight = LineWeight.LineWeight040;
            }
            return(resStyleId);
        }
Пример #4
0
        internal static List <Autodesk.AutoCAD.DatabaseServices.DBObject> GetStylesAsDBObjects(Autodesk.AutoCAD.DynamoNodes.Document document, StyleCollectionBase styleCollection)
        {
            List <Autodesk.AutoCAD.DatabaseServices.DBObject> retList = new List <Autodesk.AutoCAD.DatabaseServices.DBObject>();
            Database db = document.AcDocument.Database;

            foreach (Autodesk.AutoCAD.DatabaseServices.ObjectId oId in styleCollection)
            {
                using (Transaction trans = db.TransactionManager.StartTransaction())
                {
                    Autodesk.AutoCAD.DatabaseServices.DBObject style = trans.GetObject(oId, OpenMode.ForRead);
                    retList.Add(style);
                    trans.Commit();
                }
            }
            return(retList);
        }
Пример #5
0
        internal static Autodesk.AutoCAD.DatabaseServices.DBObject DBObjectByName(Autodesk.AutoCAD.DynamoNodes.Document document, StyleCollectionBase stylesCollection, string styleName)
        {
            Autodesk.AutoCAD.DatabaseServices.DBObject retStyle;
            Database db = document.AcDocument.Database;

            using (Transaction trans = db.TransactionManager.StartTransaction())
            {
                retStyle = trans.GetObject(stylesCollection[styleName], OpenMode.ForRead);
                trans.Commit();
            }
            return(retStyle);
        }