AutoCAD .Net 获取用户输入——GetAngle

GetAngle用于让用户指定角度值

Document doc = Application.DocumentManager.MdiActiveDocument;
double angle = 0.0;
PromptAngleOptions options = new PromptAngleOptions("\n请指定角度: ");
options.UseBasePoint = true;
options.BasePoint = new Point3d(0, 0, 0);
options.DefaultValue = Math.PI;
options.UseDefaultValue = true;
options.UseAngleBase = true;

PromptDoubleResult result = doc.Editor.GetAngle(options);
switch (result.Status)
{
    case PromptStatus.OK:
        angle = result.Value;
        doc.Editor.WriteMessage("\nAngle = " + angle);
        break;

    case PromptStatus.Cancel:
        doc.Editor.WriteMessage("\n用户取消了输入");
        break;

    default:
        break;
}

PromptAngleOptions用于设置用户输入的控制项。
UseBasePoint和BasePoint选项用于控制是否从BasePoint到当前鼠标位置绘制一条示意线以示意角度。
GetAngle返回值的范围是[0, 2*Math.PI),始终返回的是弧度值,用户输入的是角度值。
这里写图片描述
UseAngleBase为true时,GetAngle的返回值会受到系统变量ANGBASE的影响。
UseAngleBase为false时,GetAngle返回的值代表的含义:
在UCS下,向量(1, 0, 0)逆时针(不管ANGDIR为0还是1)旋转到用户指定的向量处的旋转角度。
当用户是直接输入角度数值时,用户指定的向量为通过角度数值和ANGDIR确认;当用户是通过鼠标点击时,用户指定的向量为从BasePoint到用户指定点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值