乐筑天下

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

如何实时动态取得CAD下光标的位置?

[复制链接]

15

主题

195

帖子

9

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
255
发表于 2006-8-27 21:46:00 | 显示全部楼层 |阅读模式
如何实时动态取得CAD下光标的位置?
此功能有没有人知道是什么命令?(VBA,VB.net,C#,或读CAD系统参数都可以)
请知道的朋友告诉我。谢了!!!
回复

使用道具 举报

15

主题

195

帖子

9

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
255
发表于 2006-8-29 19:35:00 | 显示全部楼层
或有这个函数也可以。
将屏幕点转化为CAD下的点。
VB开发CAD2007有这个函数,但我用的CAD2006没有。请问大家有没有别的函数可以实现?
如CAD2007开发用的函数:ed.pointtoworld(new point(e.x,e.y))
回复

使用道具 举报

15

主题

195

帖子

9

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
255
发表于 2006-8-31 22:02:00 | 显示全部楼层
用API函数此问题已解决。谢谢才鸟兄。
回复

使用道具 举报

15

主题

195

帖子

9

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
255
发表于 2006-9-10 22:30:00 | 显示全部楼层
Public Class ArxApi
     _
    Public Shared Function acedCoordFromPixelToWorld(ByVal viewportNumber As Integer, ByVal pixel As System.Drawing.Point, ByRef point As Point3d) As Boolean
        '''
        '''
    End Function
    '''
     _
    Public Shared Function acedCoordFromWorldToPixel(ByVal viewportNumber As Integer, ByVal worldPt As Point3d, ByRef pixel As System.Drawing.Point) As Boolean
        '''
        '''
    End Function
    '''
End Class
回复

使用道具 举报

4

主题

10

帖子

4

银币

初来乍到

Rank: 1

铜币
26
发表于 2006-10-18 23:46:00 | 显示全部楼层
  1.         private static Point3d m_MousePoint = new Point3d(0, 0, 0);//保存当前鼠标位置
  2.         [CommandMethod("mtest")]
  3.         public void test()
  4.         {
  5.             Editor m_ed = Application.DocumentManager.MdiActiveDocument.Editor;
  6.             m_ed.PointFilter+=new PointFilterEventHandler(m_GetMousePoint);
  7.             PromptPointOptions  m_pko = new PromptPointOptions("\n按左键退出...");
  8.             PromptPointResult m_ppr = m_ed.GetPoint(m_pko);
  9.             if (m_ppr.Status == PromptStatus.OK)
  10.             {
  11.                 m_ed.PointFilter -= new PointFilterEventHandler(m_GetMousePoint);
  12.             }
  13.         }
  14.         //动态获取鼠标位置
  15.         void m_GetMousePoint(object sender, PointFilterEventArgs e)
  16.         {
  17.             //throw new System.Exception("The method or operation is not implemented.");
  18.             m_MousePoint = e.Context.ComputedPoint;
  19.             Editor m_ed = Application.DocumentManager.MdiActiveDocument.Editor;
  20.             m_ed.WriteMessage("\n当前鼠标位置:" + m_MousePoint + "\t按下鼠标左键退出...");
  21.         }

回复

使用道具 举报

12

主题

24

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
72
发表于 2006-11-6 14:46:00 | 显示全部楼层
屏幕点是怎么得到的?
回复

使用道具 举报

15

主题

195

帖子

9

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
255
发表于 2006-11-7 10:41:00 | 显示全部楼层
mouseup 事件中得到
回复

使用道具 举报

4

主题

14

帖子

3

银币

初来乍到

Rank: 1

铜币
30
发表于 2007-4-20 14:22:00 | 显示全部楼层
可以用吗?
回复

使用道具 举报

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2007-5-6 17:20:00 | 显示全部楼层

Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.Geometry
Imports Autodesk.AutoCAD.EditorInput
Public Class Class1
   Private MousePoint As Point3d = New Point3d(0, 0, 0) '保存当前鼠标位置
     _
       Public  Sub test()
        Dim ed As Editor = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor
        AddHandler ed.PointFilter, AddressOf GetMousePoint
        Dim pro As PromptPointOptions = New PromptPointOptions("按左键退出...")
        ed.GetPoint(pro)
        RemoveHandler ed.PointFilter, AddressOf GetMousePoint
    End Sub
    ''动态获取鼠标位置  
    Private Sub GetMousePoint(ByVal sender As Object, ByVal e As PointFilterEventArgs)
        MousePoint = e.Context.ComputedPoint
        Dim m_ed As Editor = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor
        m_ed.WriteMessage("当前鼠标位置:  " + vbLf + "X=" + MousePoint.X.ToString + vbLf + "Y=" + MousePoint.X.ToString + vbLf + "Z=" + MousePoint.Z.ToString + vbLf)
    End Sub
End Class
回复

使用道具 举报

15

主题

195

帖子

9

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
255
发表于 2007-6-9 00:54:00 | 显示全部楼层
好样的。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 05:43 , Processed in 0.273564 second(s), 72 queries .

© 2020-2024 乐筑天下

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