.NET
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to new a TextStyle? And then set it current?

4 REPLIES 4
Reply
Message 1 of 5
waterharbin
611 Views, 4 Replies

How to new a TextStyle? And then set it current?

Hello.I want to set a TestStyle,so I can control the fontsize,fontname,etc.Is there anyone who have done that before,Can your code be shared with us? Thank you.

4 REPLIES 4
Message 2 of 5
cadMeUp
in reply to: waterharbin

Here is one way you can go about it:

 

Document curDoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
Database db = curDoc.Database;
Editor ed = curDoc.Editor;

TextStyleTableRecord txtStyle = new TextStyleTableRecord();
txtStyle.Name = "My Style";
txtStyle.Font = new Autodesk.AutoCAD.GraphicsInterface.FontDescriptor("Symbol", false, false, 0, 0);
txtStyle.Annotative = AnnotativeStates.True;
txtStyle.TextSize = 0.125;

using (Transaction trans = db.TransactionManager.StartTransaction())
{
 TextStyleTable tab = (TextStyleTable)db.TextStyleTableId.GetObject(OpenMode.ForWrite);
 tab.Add(txtStyle);
 trans.AddNewlyCreatedDBObject(txtStyle, true);
 db.Textstyle = txtStyle.Id;
 trans.Commit();
}

Message 3 of 5
ZK_BUDiKOM
in reply to: cadMeUp

Hi,

 

how can I show what is the current TextStyle ??

 

this show me my style, but I know what is this name:

textStyleId = textStyleTable["MyTextStyle"];
TextStyleTableRecord style = tr.GetObject(textStyleId, OpenMode.ForRead) as TextStyleTableRecord;
string sTx = style.Name;

ed.WrittenMessage("\nCurrent Text Style: {0}", sTx);

 

but If I don't??

textStyleId = textStyleTable[??];  // - I want to know name current TextStyle
TextStyleTableRecord style = tr.GetObject(textStyleId, OpenMode.ForRead) as TextStyleTableRecord;
string sTx = style.Name;
 
ed.WrittenMessage("\nCurrent Text Style: {0}", sTx);

 

regards

Message 4 of 5

Hi,

 

if you have access to your database you also have access to the property .Textstyle (e.g. AcadDocDB.Textstyle) which gives you the ObjectID for the TextStyleTableRecord.

 

- alfred -

------------------------------------------------------------------------------------
Alfred NESWADBA
Ingenieur Studio HOLLAUS ... www.hollaus.at ... blog.hollaus.at ... CDay 2024
------------------------------------------------------------------------------------
(not an Autodesk consultant)
Message 5 of 5

Hi Alfred,

 

thank you it's work 🙂

 

TextStyleTableRecord style = tr.GetObject(db.Textstyle, OpenMode.ForRead) as TextStyleTableRecord;
string sTx = style.Name;

 

regards

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk DevCon in Munich May 28-29th


Autodesk Design & Make Report

”Boost