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 29/08/2021 trong tất cả các lĩnh vực

  1. 2 điểm
    Việc in bản vẽ autocad ra file .pdf là công việc thường xuyên của anh em kỹ sư, nhưng công việc này tốn rất nhiều thời gian. Tìm trên diễn đàn Cadviet và internent tôi thấy đã có nhiều tool thực hiện việc này nhưng vẫn còn nhiều hạn chế, nhiều trường hợp in không theo ý muốn. Do đó tôi đã viết 1 tool nhỏ để giải quyết vấn đề này và chia sẻ cho cộng đồng. Các bạn có thể download và xem hướng dẫn sử dụng tại link sau:
  2. 1 điểm
    Bạn tham khảo code này, tuy nó không xuất ra kết quả như bạn yêu cầu nhưng nó có tất cả các hàm để viết. using System; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.DatabaseServices; 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; using (var tr = db.TransactionManager.StartTransaction()) { Point3d insPt = new Point3d(6000, 6000, 0); Point3d ptX = Polar(insPt, 0, _deltaX); // line by X 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(); } } } }
  3. 1 điểm
    Trước mình cũng viết 1 tool hộ thằng em về khối lượng nút giao bằng net, chỉ xử lý phần tạo boundary cho các thành phần phía trong ranh vỉa hè.
  4. -1 điểm
    dạ sorry anh. Mọi người có thể giúp em ý đầu với ạ.
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
×