Still not sure why the above would not work.
I changed the code as follows and now acad is
happy. Must you supply arguments to the attributedefinition
constructor?
code snippet--------------------------------------------
//Create Attribute definitions for the new block
//Using "using" here cuz was getting complaints by acad for not calling dispose on the attdefs
ObjectId lId = Utilities.SetLayer("revisions"); // layer for the attributes
using (AttributeDefinition aLetter = new AttributeDefinition(zeroPos, "", "TB_REV_LETTER", "Revision letter", db.Textstyle))
{
aLetter.LayerId = lId;
aLetter.Height = dRevLetterHeight;
aLetter.Rotation = dRevLetterRotation;
aLetter.HorizontalMode = oRevLetterJustify;
if (oRevLetterJustify == TextHorizontalMode.TextLeft)
{
aLetter.Position = pRevLetterIp;
}
else
{
aLetter.AlignmentPoint = pRevLetterAlign;
aLetter.Position = pRevLetterIp;
}
aLetter.VerticalMode = TextVerticalMode.TextBase;
//Append the attributes
newBtr.AppendEntity(aLetter);
trans.AddNewlyCreatedDBObject(aLetter, true);
}