多行文本,单行文本,文本样式,创建对齐标注,创建线性标注
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Interop;
using Autodesk.AutoCAD.Interop.Common;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Colors;
using Autodesk.AutoCAD.GraphicsInterface;namespace AutoDemo21
{public class Class1{[CommandMethod("DHWB")]public static void DHWB(){Document doc = Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;using (Transaction tran = db.TransactionManager.StartTransaction()){BlockTable bt = tran.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;BlockTableRecord btr = tran.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;MText 文本 = new MText();文本.Location = new Point3d(10, 10, 0);文本.Width = 10;文本.Contents = "asdasdasdasdas";文本.ColorIndex = 3;btr.AppendEntity(文本);tran.AddNewlyCreatedDBObject(文本, true);tran.Commit();}}[CommandMethod("CSDHWB")]public static void CSDHWB(){Document doc = Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;using (Transaction tran = db.TransactionManager.StartTransaction()){BlockTable bt = tran.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;BlockTableRecord btr = tran.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;DBText 文本 = new DBText();文本.Position = new Point3d(10, 10, 0);文本.Height = 2;文本.TextString = "asdasdasdasdas";文本.ColorIndex = 3;btr.AppendEntity(文本);tran.AddNewlyCreatedDBObject(文本, true);DBText text = 文本.Clone() as DBText;text.Position = new Point3d(10, 5, 0);text.Oblique = 0.5;text.TextString = "测试单行文本";text.ColorIndex = 3;text.IsMirroredInX = true;btr.AppendEntity(text);tran.AddNewlyCreatedDBObject(text, true);tran.Commit();}}[CommandMethod("WBYS")]public static void WBYS(){Document doc = Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;using (Transaction tran = db.TransactionManager.StartTransaction()){TextStyleTableRecord ts = tran.GetObject(db.Textstyle, OpenMode.ForWrite) as TextStyleTableRecord;FontDescriptor font = ts.Font;doc.Editor.WriteMessage("当前字体:" + font.ToString());FontDescriptor newFont = new FontDescriptor("仿宋", true, font.Italic, font.CharacterSet, font.PitchAndFamily);ts.Font = newFont;doc.Editor.Regen();doc.Editor.WriteMessage("当前字体:" + font.ToString());tran.Commit();}}[CommandMethod("DQBZ")]public static void DQBZ(){Document doc = Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;using (Transaction tran = db.TransactionManager.StartTransaction()){BlockTable bt = tran.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;BlockTableRecord btr = tran.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;Line li = new Line(new Point3d(0,0,0),new Point3d(10,10,0));btr.AppendEntity(li);tran.AddNewlyCreatedDBObject(li, true);DBPoint P = new DBPoint(new Point3d(0, 1, 0));btr.AppendEntity(P);tran.AddNewlyCreatedDBObject(P, true);AlignedDimension AD = new AlignedDimension();AD.XLine1Point = li.StartPoint;AD.XLine2Point = li.EndPoint;AD.DimLinePoint = new Point3d(P.Position.X, P.Position.Y, 0);AD.ColorIndex = 3;AD.Oblique = 0.785;btr.AppendEntity(AD);tran.AddNewlyCreatedDBObject(AD, true);tran.Commit();}}[CommandMethod("XXBZ")]public static void XXBZ(){Document doc = Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;using (Transaction tran = db.TransactionManager.StartTransaction()){BlockTable bt = tran.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;BlockTableRecord btr = tran.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;Line li = new Line(new Point3d(0, 0, 0), new Point3d(10, 10, 0));btr.AppendEntity(li);tran.AddNewlyCreatedDBObject(li, true);DBPoint P = new DBPoint(new Point3d(5, 5, 0));btr.AppendEntity(P);tran.AddNewlyCreatedDBObject(P, true);RotatedDimension AD = new RotatedDimension();AD.XLine1Point = li.StartPoint;AD.XLine2Point = li.EndPoint;AD.DimLinePoint = new Point3d(P.Position.X, P.Position.Y, 0);AD.DimensionStyle = db.Dimstyle;btr.AppendEntity(AD);tran.AddNewlyCreatedDBObject(AD, true);tran.Commit();}}[CommandMethod("BJBZ")]public static void BJBZ(){Document doc = Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;using (Transaction tran = db.TransactionManager.StartTransaction()){BlockTable bt = tran.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;BlockTableRecord btr = tran.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;using (Circle c = new Circle()){c.Center = new Point3d(0, 0, 0);c.Radius = 10;c.ColorIndex = 3;RadialDimension rd = new RadialDimension();rd.Center = c.Center;rd.ChordPoint = new Point3d(0, 10, 0);rd.LeaderLength = 5;btr.AppendEntity(c);tran.AddNewlyCreatedDBObject(c, true);btr.AppendEntity(rd);tran.AddNewlyCreatedDBObject(rd, true);}tran.Commit();}}[CommandMethod("JDBZ")]public static void JDBZ(){Document doc = Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;using (Transaction tran = db.TransactionManager.StartTransaction()){BlockTable bt = tran.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;BlockTableRecord btr = tran.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;Line li = new Line(new Point3d(0, 0, 0), new Point3d(0, 5, 0));Line li2 = new Line(new Point3d(0, 0, 0), new Point3d(5, 5, 0));DBPoint rd = new DBPoint(new Point3d(2,1,0));LineAngularDimension2 ad = new LineAngularDimension2();ad.XLine1Start = li.StartPoint;ad.XLine1End = li.EndPoint;ad.XLine2Start = li2.StartPoint;ad.XLine2End = li2.EndPoint;ad.ArcPoint = new Point3d(rd.Position.X, rd.Position.Y,0);btr.AppendEntity(li);tran.AddNewlyCreatedDBObject(li, true);btr.AppendEntity(li2);tran.AddNewlyCreatedDBObject(li2, true);btr.AppendEntity(rd);tran.AddNewlyCreatedDBObject(rd, true);btr.AppendEntity(ad);tran.AddNewlyCreatedDBObject(ad, true);tran.Commit();}}[CommandMethod("HCBZ")]public static void HCBZ(){Document doc = Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;using (Transaction tran = db.TransactionManager.StartTransaction()){BlockTable bt = tran.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;BlockTableRecord btr = tran.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;Arc a = new Arc();a.Center = new Point3d(0, 0, 0);a.Radius = 5;a.StartAngle = 0;a.EndAngle = 1.57;DBPoint p = new DBPoint(new Point3d(5, 4, 0));ArcDimension ad = new ArcDimension(a.Center,a.StartPoint,a.EndPoint,new Point3d(p.Position.X,p.Position.Y,0),"<>",db.Dimstyle);btr.AppendEntity(a);tran.AddNewlyCreatedDBObject(a, true);btr.AppendEntity(p);tran.AddNewlyCreatedDBObject(p, true);btr.AppendEntity(ad);tran.AddNewlyCreatedDBObject(ad, true);tran.Commit();}}[CommandMethod("BZZB")]public static void BZZB(){Document doc = Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;using (Transaction tran = db.TransactionManager.StartTransaction()){BlockTable bt = tran.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;BlockTableRecord btr = tran.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;OrdinateDimension od = new OrdinateDimension();od.UsingXAxis = false;od.DefiningPoint = new Point3d(5,4,0);od.LeaderEndPoint = new Point3d(10, 8, 0);btr.AppendEntity(od);tran.AddNewlyCreatedDBObject(od, true);tran.Commit();}}[CommandMethod("BZYS")]public static void BZYS(){Document doc = Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;using (Transaction tran = db.TransactionManager.StartTransaction()){DimStyleTable dst = tran.GetObject(db.DimStyleTableId, OpenMode.ForWrite) as DimStyleTable;DimStyleTableRecord dstr = new DimStyleTableRecord();dstr = db.GetDimstyleData();dstr.Name = "新样式";Application.SetSystemVariable("DIMBLK1","_DOT");dstr.Dimblk1 = db.Dimblk1;Application.SetSystemVariable("DIMBLK2","_CLOSEDBLANK");dstr.Dimblk2 = db.Dimblk2;dstr.Dimsah = true;dst.Add(dstr);tran.AddNewlyCreatedDBObject(dstr, true);BlockTable bt = tran.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;BlockTableRecord btr = tran.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;AlignedDimension ad = new AlignedDimension();ad.XLine1Point = new Point3d(0,0,0);ad.XLine2Point = new Point3d(5,0,0);ad.DimLinePoint = new Point3d(1,1,0);ad.DimensionStyle = dst["新样式"];btr.AppendEntity(ad);tran.AddNewlyCreatedDBObject(ad, true);tran.Commit();}}[CommandMethod("BZXS")]public static void BZXS(){Document doc = Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;using (Transaction tran = db.TransactionManager.StartTransaction()){BlockTable bt = tran.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;BlockTableRecord btr = tran.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;AlignedDimension ad = new AlignedDimension();ad.XLine1Point = new Point3d(0, 0, 0);ad.XLine2Point = new Point3d(5, 0, 0);ad.DimLinePoint = new Point3d(1, 1, 0);ad.Dimdec = 2;ad.DimensionText = "线的长度 <>";btr.AppendEntity(ad);tran.AddNewlyCreatedDBObject(ad, true);tran.Commit();}}[CommandMethod("DCYX")]public static void DCYX(){Document doc = Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;using (Transaction tran = db.TransactionManager.StartTransaction()){BlockTable bt = tran.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;BlockTableRecord btr = tran.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;MLeader ML = new MLeader();int l = ML.AddLeader();int ln = ML.AddLeaderLine(l);ML.AddFirstVertex(ln,new Point3d(0,0,0));ML.AddLastVertex(ln,new Point3d(10,10,0));ML.ContentType = ContentType.MTextContent;MText mt = new MText();mt.Height = 2;mt.Location = new Point3d(10, 10, 0);mt.Contents = "测试";ML.MText = mt;btr.AppendEntity(ML);tran.AddNewlyCreatedDBObject(ML, true);tran.Commit();}}}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!