代碼如下:
[code=csharp]///
/// 創(chuàng)建帶文字的線型
///
///
public static ObjectId CreateLineTypeWithText()
{
Document doc =
Autodesk.AutoCAD.ApplicationServices.
Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed = doc.Editor;
Transaction tr =db.TransactionManager.StartTransaction();
using (tr)
{
// 讀出文字樣式表
TextStyleTable tt =
(TextStyleTable)tr.GetObject(db.TextStyleTableId,
OpenMode.ForRead);
// 讀出線型表
LinetypeTable lt =
(LinetypeTable)tr.GetObject(db.LinetypeTableId,
OpenMode.ForWrite);
if (lt.Has("Ben"))
{
return lt["Ben"];
}
else
{
// 創(chuàng)建新的線型記錄.
LinetypeTableRecord ltr = new LinetypeTableRecord();
// ...設(shè)置線型記錄特性
ltr.Name = "Ben";
ltr.AsciiDescription =
"Ben Supply ---- Ben ---- Ben ---- Ben ----";
ltr.PatternLength = 1.1;
ltr.NumDashes = 3; //分為三段
// 線段Dash #1
ltr.SetDashLengthAt(0, 0.5);
// 線段Dash #2
ltr.SetDashLengthAt(1, -0.3);
ltr.SetShapeStyleAt(1, tt["Standard"]);//文字樣式設(shè)定
ltr.SetShapeNumberAt(1, 0);
//文字位置設(shè)定,用一二維向量控制
ltr.SetShapeOffsetAt(1, new Vector2d(-0.1, -0.05));
ltr.SetShapeScaleAt(1, 0.1);//文字比例
ltr.SetShapeIsUcsOrientedAt(1, false);
ltr.SetShapeRotationAt(1, 0);//文字方向,0為順直接方向
ltr.SetTextAt(1, "Ben");//文字內(nèi)容
// 線段Dash #3
ltr.SetDashLengthAt(2, -0.3);
// 添加新的線型記錄到線型表
ObjectId ltId = lt.Add(ltr);
tr.AddNewlyCreatedDBObject(ltr, true);
tr.Commit();
return ltId;//返回線型記錄ID
}
}
}[/code]
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國(guó)專業(yè)技術(shù)人員計(jì)算機(jī)應(yīng)用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實(shí)例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風(fēng)暴2:Maya影像實(shí)拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計(jì)案例教程中文版AutoCAD 建筑設(shè)計(jì)案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機(jī)械A(chǔ)utoCAD 項(xiàng)目教程 第3版 [繆希偉 主編] 2012年P(guān)DF