cad二次开发c#学习记录2——画一条线

      直线——line,圆——circle当然还有其的类,圆弧、多段线、样条曲线、椭圆、文字、标注、块、点。想画一条线的话就需要先给出两个点。 

Point3d pt1 = new Point3d(0, 0, 0);
Point3d pt2 = new Point3d(10, 0, 0);
Line l1 = new Line(pt1,pt2);

      代码中的直线画出来后,运行程序,cad的模型空间中并不会出现这条直线。此时需要将直线添加到模型空间中。下面是将图元添加到模型空间的函数。

public static ObjectId AddToModelSpace(this Database db, Entity ent)
{
   ObjectId entId;
   using (Transaction trans = db.TransactionManager.StartTransaction())
   {
     BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
     BlockTableRecord btr =(BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
     entId = btr.AppendEntity(ent);
     trans.AddNewlyCreatedDBObject(ent, true);
     trans.Commit();
    }
    return entId;
}

 下面是完整的画线&圆代码。

Point3d pt1 = new Point3d(0, 0, 0);
Point3d pt2 = new Point3d(100, 0, 0);
Line l1 = new Line(pt1,pt2);
Vector3d ve = new Vector3d(0, 0, 1);
Circle cir = new Circle(pt1,ve,120);
//cir.ColorIndex = 2;
//l1.ColorIndex = 2;
db.AddToModelSpace(l1);
db.AddToModelSpace(cir);

      实际上,画线/圆之类的,固定的复杂形状,cad本身可以用块的方法解决。二次开发可以实现,但是没有明显简便很多。书上还有详细的各种类及函数的用法,同时也有复制,阵列,缩放,移动图元的介绍,按需查找使用即可。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值