- 积分
- 567
- 明经币
- 个
- 注册时间
- 2020-11-24
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
5明经币
[CommandMethod("GetPolyline")]
public void GetPolyline()
{
Document acDoc = Application.DocumentManager.MdiActiveDocument;
Editor acEd = acDoc.Editor;
// 提示用户选择一条Polyline
PromptEntityOptions peo = new PromptEntityOptions("\n请选择一条Polyline");
peo.SetRejectMessage("\n所选对象不是Polyline,请重新选择");
peo.AddAllowedClass(typeof(Polyline), true);
PromptEntityResult per = acEd.GetEntity(peo);
if (per.Status == PromptStatus.OK)
{
using (Transaction acTrans = acDoc.TransactionManager.StartTransaction())
{
// 打开并锁定选中的Polyline
Polyline acPoly = acTrans.GetObject(per.ObjectId, OpenMode.ForRead) as Polyline;
if (acPoly != null)
{
// 将选中的Polyline赋值给polyEnt变量
Polyline polyEnt = acPoly;
//// 改变Polyline的颜色为红色
acPoly.Color = Color.FromColorIndex(ColorMethod.ByColor, 1);
// 更新图形和刷新显示
acEd.UpdateScreen();
// 在控制台输出选中的Polyline的长度
acEd.WriteMessage("\n已选择的Polyline长度:{0}", polyEnt.Length);
}
acTrans.Commit();
}
}
}
以上代码是在AutoCAD2016 vs.net2017下的项目测试 红色代码删除就可以运行,不删除autoCAD就会崩了 出现如下图
这是什么原因,我哪个环节出问题了,不能直接修改颜色吗?
要怎么改?求指导一下
|
附件: 您需要 登录 才可以下载或查看,没有账号?注册
|