chpmould 发表于 2010-12-18 14:25:00

获取一条线的角度

请老师指点,如何获取一条线的角度,以下是画一条斜线的代码,请帮助增加获取这条斜线的语句

chpmould 发表于 2010-12-18 14:25:00


public void testLine()
      {
            Database db = HostApplicationServices.WorkingDatabase;
            using (Transaction ta = db.TransactionManager.StartTransaction())
            {
                BlockTable bt = (BlockTable)ta.GetObject(db.BlockTableId, OpenMode.ForRead);
                BlockTableRecord btr = (BlockTableRecord)ta.GetObject(bt, OpenMode.ForWrite);
                Line ent = new Line(new Point3d(0, 0, 0), new Point3d(20, 10, 0));
                //请老师指点,如何获取这条线的角度
                btr.AppendEntity(ent);
                ta.AddNewlyCreatedDBObject(ent, true);
                ta.Commit();
            }
      }

chpmould 发表于 2010-12-18 15:50:00


另请教老师在C#中如何写LISP中以下角度判断与转换代码
(setq angle(cond((and(> angle 90)( angle 270)(- angle 360))
   ((= angle -90)(90))
   (t angle)
)

雪山飞狐_lzh 发表于 2010-12-18 21:56:00

if...else if...else if...else...

chpmould 发表于 2010-12-19 18:04:00

谢谢,我去试试...

chpmould 发表于 2010-12-19 23:13:00


请老师帮我看一下,我按以下方法写,没有反映,请帮我看看我错在那里...
复制代码

雪山飞狐_lzh 发表于 2010-12-19 23:31:00

基本语法找本书自学,或者查msdn
另外把链接的帖子看完看仔细

chpmould 发表于 2010-12-19 23:50:00

我测试已获取一条线的角度(angle)成功,我现主要是卡在如何判断角度(angle)... ...

雪山飞狐_lzh 发表于 2010-12-20 12:35:00


要判断角度其实很简单
1/
确保ang1和ang2在【0,2*pi】
2/
ang3 = ang2 < Math.PI ? ang2 + Math.PI : ang2 - Math.PI;
if(ang1 == ang2 || ang1 == ang3)
{
}
页: [1]
查看完整版本: 获取一条线的角度