乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 76|回复: 2

屏幕上拾取点的坐标

[复制链接]

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2020-11-26 09:38:10 | 显示全部楼层 |阅读模式
嗨,你能告诉我如何获得屏幕上选择的点的坐标吗?我想在屏幕上写下X和Y坐标,我将选择。  你有任何c#代码吗?我是C#的新手,所以我还在学习。
谢谢大家

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

15

主题

687

帖子

169

银币

中流砥柱

Rank: 25

铜币
582
发表于 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();。
}。
}。
回复

使用道具 举报

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2020-11-27 06:21:53 | 显示全部楼层
谢谢。这是有用的
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 03:41 , Processed in 0.255567 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表