emrahctrk 发表于 2020-11-26 09:38:10

屏幕上拾取点的坐标

嗨,你能告诉我如何获得屏幕上选择的点的坐标吗?我想在屏幕上写下X和Y坐标,我将选择。你有任何c#代码吗?我是C#的新手,所以我还在学习。
谢谢大家
**** Hidden Message *****

gile 发表于 2020-11-26 13:57:27

您好,这是一个简单且带注释的示例:[命令方法("PRINTCOORDS")]。
公共静态无效Print坐标()。
{。
文档文档=Application.DocumentManager.MdiActiveDocument;。
数据库db=doc.Database;。
编辑doc.Editor。

//提示用户选择一个点。
提示点结果ppr=ed.GetPoint("\nPick a point: ");。

//如果用户取消则返回。
如果(ppr.Status!=PromptStatus.OK)。
返回;。

Point3d PickedPoint=ppr.Value;。

//启动事务以将文本添加到当前空间。
使用(事务tr=db.TransactionManager.StartTransaction())。
{。
//打开当前空间BlockTableRecord进行写入。
块表记录curSpace=。
tr.GetObject(db.CurrentSpaceId,OpenMode.ForWrite);。

//创建一个新的DBText实例并设置其属性。
DBText=new DBText()。
{。
位置=拾取点,。
TextString=$"{拾取点. X: 0.00},{拾取点. Y: 0.00}"。
};。

//将文本转换为UCS。
text.TransformBy(ed.CurrentUserCoordinateSystem);。

//将文本附加到当前空间。
curSpace.AppendEntity(文本);。

//将文本添加到交易。
tr.AddNewlyCreatedDBObject(文本,真);。

//提交更改。
tr.Commit();。
}。
}。

emrahctrk 发表于 2020-11-27 06:21:53

谢谢。这是有用的
页: [1]
查看完整版本: 屏幕上拾取点的坐标