获取一条线的角度
请老师指点,如何获取一条线的角度,以下是画一条斜线的代码,请帮助增加获取这条斜线的语句本帖最后由 chpmould 于 2010-12-18 14:25 编辑
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();
}
} http://bbs.mjtd.com/thread-81457-1-1.html 本帖最后由 chpmould 于 2010-12-18 17:36 编辑
另请教老师在C#中如何写LISP中以下角度判断与转换代码
(setq angle(cond((and(> angle 90)(<= angle 270(((-angle 180))
((> angle 270)(- angle 360))
((= angle -90)(90))
(t angle)
)
if...else if...else if...else... 谢谢,我去试试... 本帖最后由 chpmould 于 2010-12-19 23:14 编辑
请老师帮我看一下,我按以下方法写,没有反映,请帮我看看我错在那里...
if ((angle > 90) && (angle <= 270))
{
angle = angle - 180;
}
else if (angle > 270)
{
angle = angle - 360;
}
else if ((angle - 90) == 90)
{
angle = 90;
}
else
{
angle = angle;
}
基本语法找本书自学,或者查msdn
另外把链接的帖子看完看仔细 我测试已获取一条线的角度(angle)成功,我现主要是卡在如何判断角度(angle)... ... 本帖最后由 lzh741206 于 2010-12-20 12:40 编辑
要判断角度其实很简单
1/
确保ang1和ang2在【0,2*pi】
2/
ang3 = ang2 < Math.PI ? ang2 + Math.PI : ang2 - Math.PI;
if(ang1 == ang2 || ang1 == ang3)
{
}
页:
[1]
2