C# 给GetEntity()添加功能
本帖最后由 forever111 于 2020-11-26 00:14 编辑GetEntity()方法在点选图元时返回(objid(点选坐标值)),在选择空白处时提示“未选择对象”。
能不能改成选择空白处时返回点选坐标点。
鼠标点击后 有图元 返回 (objid(x,y,0));
无图元 返回 (x,y,0);
lastpoint
... 坐等高手出手。 本帖最后由 Civil3D 于 2020-11-28 17:16 编辑
先用getpoint获得点坐标,再用SelectAtPoint判断
DBTransaction 是采用了NFOX类库
public void Test_GetEntity1()
{
Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed = doc.Editor;
using (DBTransaction tr = new DBTransaction())
{
PromptSelectionResult PSR1;
PromptPointOptions PPO1 = new PromptPointOptions("\n请指定点: ");
PromptPointResult PPR1 = doc.Editor.GetPoint(PPO1);
if (PPR1.Status != PromptStatus.OK)
return;
PSR1 = ed.SelectAtPoint(PPR1.Value);
if (PSR1.Status != PromptStatus.OK)
{
ed.WriteMessage("\n "+ PPR1.Value);
}
else
{
SelectionSet SS1 = PSR1.Value;
foreach (SelectedObject SO in SS1)
{
ed.WriteMessage("\n "+ SO.ObjectId+","+ PPR1.Value);
}
}
}
}
moz-extension://6954a6f3-1c3e-4de9-813f-fdacc5e888b0/icons/logo.png
必须学习一下,先顶一个再说 Civil3D 发表于 2020-11-28 17:05
先用getpoint获得点坐标,再用SelectAtPoint判断
DBTransaction 是采用了NFOX类库
厉害,学习了,
我是想用DrawVector方法和jig方法绘制选择框后在计算坐标,再用SelectAtPoint判断,
可发现DrawVector方法绘制出选择框后无法清楚。 学习了!!!! Civil3D 发表于 2020-11-28 17:05
先用getpoint获得点坐标,再用SelectAtPoint判断
DBTransaction 是采用了NFOX类库
感谢大神分享心得!!!!
页:
[1]