Chuyển đến nội dung
Diễn đàn CADViet

Bảng xếp hạng


Nội dung phổ biến

Hiển thị nội dung có danh tiếng cao nhất trên 05/09/2021 trong Bài đăng

  1. 1 điểm
    Không có cũng được, nhưng không thừa đâu! Bổ sung hàm getdouble (nhập số thực) và getpoint (chọn điểm): using System; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Geometry; using AcadApp = Autodesk.AutoCAD.ApplicationServices.Application; namespace Gia_Bach { public class Class1 { static double _deltaX = 4000; static double _deltaY = 5000; const double pi = System.Math.PI; const double dimBaseLine = 350; const double txtHeight = 175; [CommandMethod("test")] public static void AddLineDimTextCircle() { Document doc = AcadApp.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = doc.Editor; using (var tr = db.TransactionManager.StartTransaction()) { PromptDoubleOptions pdo = new PromptDoubleOptions("\nNhập chiều dài phương ngang: "); pdo.DefaultValue = _deltaX; PromptDoubleResult res = ed.GetDouble(pdo); if (res.Status != PromptStatus.OK) return; _deltaX = res.Value; PromptPointResult ppr= ed.GetPoint("\nĐiểm chèn:"); if (ppr.Status != PromptStatus.OK) return; Point3d insPt = ppr.Value; // horizontal Point3d ptX = Polar(insPt, 0, _deltaX); // line Line line = new Line(insPt, ptX); line.ColorIndex = 3; AddToDataBase(db, line); // dim Point3d dimLinePt = Polar(insPt, pi / 2, dimBaseLine); AlignedDimension dim = new AlignedDimension(insPt, ptX, dimLinePt, "", db.Dimstyle); dim.ColorIndex = 4; AddToDataBase(db, dim); // text Point3d midPt = MidPoint(insPt, ptX); Point3d txtInsPt = Polar(midPt, pi / -2, txtHeight * 1.5); DBText txt = new DBText(); txt.Height = txtHeight; txt.TextString = "B"; txt.Position = txtInsPt; txt.HorizontalMode = TextHorizontalMode.TextCenter; txt.VerticalMode = TextVerticalMode.TextVerticalMid; txt.AlignmentPoint = txtInsPt; AddToDataBase(db, txt); // cicrle Circle cir = new Circle(txtInsPt, txt.Normal, txtHeight * 1.0); cir.ColorIndex = 1; AddToDataBase(db, cir); //Point3d ptY = Polar(insPt, pi / -4, _deltaY); //// line by Y //line = new Line(insPt, ptY); //line.ColorIndex = 3; //AddToDataBase(db, line); tr.Commit(); } } public static Point3d Polar(Point3d org, double angle, double distance) { return new Point3d( org.X + (distance * Math.Cos(angle)), org.Y + (distance * Math.Sin(angle)), org.Z); } static public Point3d MidPoint(Point3d P1, Point3d P2) { double x, y, z; x = (P1.X + P2.X) * 0.5; y = (P1.Y + P2.Y) * 0.5; z = (P1.Z + P2.Z) * 0.5; return new Point3d(x, y, z); } public static void AddToDataBase(Database db, Entity ent) { using (var tr = db.TransactionManager.StartTransaction()) { var curSpace = (BlockTableRecord)tr.GetObject(db.CurrentSpaceId, OpenMode.ForWrite); curSpace.AppendEntity(ent); tr.AddNewlyCreatedDBObject(ent, true); tr.Commit(); } } } }
  2. -1 điểm
    boundary chỉ được 1 ô thôi ạ. Mình muốn pick nhiều ô thành 1 ô như lisp tính diện tích ấy./ | day rut nhua
  3. -1 điểm
Bảng thành tích này được đặt thành Tp. Hồ Chí Minh /GMT +07:00


  • Newsletter

    Want to keep up to date with all our latest news and information?

    Sign Up
×