Creating Dimension Styles

Creating Dimension Styles

Anonymous
Not applicable
838 Views
1 Reply
Message 1 of 2

Creating Dimension Styles

Anonymous
Not applicable

I'm not able to create a "DIMSTYLE" with Dimblk1 different Dimblk2.

 

 

        public static ObjectId CreateDimstyle(DimStyleTableRecord dim, string name, string seta1, string seta2)
        {
            Document acDoc = Application.DocumentManager.MdiActiveDocument;
            Database acCurDb = acDoc.Database;
            using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())
            {
                DimStyleTable dimStyleTable = (DimStyleTable)acTrans.GetObject(acCurDb.DimStyleTableId, OpenMode.ForWrite);
                DimStyleTableRecord dimStyleTableRecord = null;
                if (dimStyleTable.Has(name) == false)
                {

                    if (dimStyleTable.IsWriteEnabled == false)
                        dimStyleTable.UpgradeOpen();
                    dimStyleTableRecord = new DimStyleTableRecord();
                    dimStyleTableRecord.Name = name;
                    dimStyleTable.Add(dimStyleTableRecord);
                    acTrans.AddNewlyCreatedDBObject(dimStyleTableRecord, true);
                }
                else
                {
                    dimStyleTableRecord = acTrans.GetObject(dimStyleTable[name],
                        OpenMode.ForWrite) as DimStyleTableRecord;
                }

                dimStyleTableRecord.Dimtxsty = dim.Dimtxsty;

                dimStyleTableRecord.Dimtxt = dim.Dimtxt;
                dimStyleTableRecord.Dimscale = dim.Dimscale;
                dimStyleTableRecord.Dimdec = dim.Dimdec; 
                dimStyleTableRecord.Dimadec = dim.Dimadec;
                dimStyleTableRecord.Dimlunit = dim.Dimlunit; 
                dimStyleTableRecord.Dimaunit = dim.Dimaunit; 
                dimStyleTableRecord.Dimtad = dim.Dimtad; 
                dimStyleTableRecord.Dimtih = dim.Dimtih; 
                dimStyleTableRecord.Dimtix = dim.Dimtix; 
                dimStyleTableRecord.Dimtofl = dim.Dimtofl;
                dimStyleTableRecord.Dimblk = ConvertToLayer.GetArrowObjectId(seta1);
                dimStyleTableRecord.Dimblk1 = ConvertToLayer.GetArrowObjectId(seta1);
                dimStyleTableRecord.Dimblk2 = ConvertToLayer.GetArrowObjectId(seta2);
                dimStyleTableRecord.Dimasz = dim.Dimasz;
                dimStyleTableRecord.Dimgap = dim.Dimgap;
                dimStyleTableRecord.Dimclrt = dim.Dimclrt;
                dimStyleTableRecord.Dimclre = dim.Dimclre;
                dimStyleTableRecord.Dimclrd = dim.Dimclrd;
                dimStyleTableRecord.Dimexo = dim.Dimexo;
                dimStyleTableRecord.Dimtmove = dim.Dimtmove;
                dimStyleTableRecord.Dimtoh = dim.Dimtoh;
                dimStyleTableRecord.Dimexe = dim.Dimexe;
                acCurDb.SetDimstyleData(dimStyleTableRecord);
                acTrans.Commit();
                return dimStyleTableRecord.ObjectId;
            }
        }

 What am I doing wrong.
Please help me out!

 

0 Likes
Accepted solutions (1)
839 Views
1 Reply
Reply (1)
Message 2 of 2

Anonymous
Not applicable
Accepted solution

I managed.
I also had to configure: acDimStyleTblRec.Dimsah = true;

 

0 Likes