找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2388|回复: 22

[求助] 如何计算视口对应模型空间坐标

[复制链接]

已领礼包: 2476个

财富等级: 金玉满堂

发表于 2017-9-4 20:56:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 q3_2006 于 2017-9-5 09:53 编辑

如题,如果视口是矩形或任意多边形,如何求对应模型空间坐标
理论上10组码12组码是视口中心对应模型空间的坐标..但这个图却不是..不知道问题出在哪里,请各位大师给看看!谢谢!

1.rar

269.1 KB, 下载次数: 7, 下载积分: D豆 -1 , 活跃度 1

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-9-4 21:52:14 | 显示全部楼层




主要就是得到图纸空间视口到WCS的变换矩阵


搜狗截图20170904214943.png
搜狗截图20170904215002.png


  1. (defun c:tt ()
  2.   (if (setq e (car (xdrx_entsel "\n选择视口:" '((0 . "VIEWPORT")))))
  3.     (progn
  4.       (if (xdrx_getpropertyvalue e "isNonRectClipOn")
  5.         (progn
  6.           (setq epoly (xdrx_getpropertyvalue e "nonRectClipEntityId"))
  7.           (setq pts (xdrx_getpropertyvalue epoly "vertices"))
  8.         )
  9.         (progn
  10.           (xdrx_getpropertyvalue e "centerpoint" "width" "height")
  11.           (setq pts (XD::Pnt:GetRecPnts #centerpoint #width #height))
  12.         )
  13.       )
  14.       (setq mat        (xdrx_matrix_ps2ms e)
  15.             pts
  16.                 (xd::pnts:transform pts mat)
  17.       )
  18.       (xdrx_polyline_make (xd::pnts:close pts))
  19.     )
  20.   )
  21.   (princ)
  22. )


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2017-9-4 22:00:39 | 显示全部楼层

版主看下我发的图...是这个图算不对..不是方法问题..不知道图有什么问题
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-9-4 22:22:29 | 显示全部楼层

你不是想从 视口,得到模型空间的顶点坐标吗?
你执行我上面的代码,你的图,点视口,可以在模型空间生成矩形框。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2017-9-5 07:45:49 | 显示全部楼层

谢谢,没问题了..
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2017-9-5 07:54:24 | 显示全部楼层
这个好像有非xdrx代码的程序,是本论坛很久很久以前的帖子了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2017-9-5 09:39:44 | 显示全部楼层

黄工找到没??我没找到哈..
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2017-9-5 09:57:48 | 显示全部楼层

1楼附件图纸更新了,我现在要统计填充的面积,因为标注在布局,填充在模型,我只能先将填充转到布局然后根据索引标注提取面积及名称到表格来统计,现在想通过视口对应模型空间点来创建一个选择集,转视口内填充到布局..现在就是选择不上..麻烦版主空了看看..如果有其它更好方法来统计..也行..总之达到目的就行..
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-9-5 13:32:46 | 显示全部楼层

你现在问题是 模型空间对应的矩形框坐标找不对,还是坐标对,选择不上?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2017-9-5 15:19:09 | 显示全部楼层

用晓东api能选择上...xdrx_matrix_ps2ms..这个函数..我想知道怎么来的..想学下阵..
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2017-9-5 15:37:03 | 显示全部楼层

ssget 除了 X 选项外,其它的都是只能选择视口范围内的,由 PS 转到 MS 的坐标也不能使用 窗口选择的,使用遍历然后判断吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2017-9-5 15:44:11 | 显示全部楼层
本帖最后由 q3_2006 于 2017-9-5 15:46 编辑

(setq ob (vlax-ename->vla-object e)
                p10 (dxf 10 e)
                p12 (dxf 12 e)
                p17 (dxf 17 e)
                sc (/ 1 (Vlax-Get ob 'CustomScale ))
                w (* 0.5 (Vlax-Get ob 'Width ) sc)
                h (* 0.5 (Vlax-Get ob 'Height ) sc)
                pa (mapcar '- p12 (list w h))
                pb (mapcar '+ p12 (list w h))
        )
如果p17为(0 0 0)这样就能算出来..视口角点对应模型空间角点..就能选择对..但这个17组码..我没明白什么意思..也不知道怎么列入计算,请大师详解..
我发的图..(5.01647e+006 -552851.0 -6.89434)..17组码返回这个值..我不知道怎么来的..说明里说观察目标点(在 WCS 中)...完全不明白是哪个点..


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2017-9-5 16:28:05 | 显示全部楼层
没太理解题目的意思,如仅是坐标转换,可以使用 (trans (trans pt 3 2) 2 0) 试试。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2017-9-5 16:45:25 | 显示全部楼层

谢谢..我试试
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2017-9-5 16:50:00 | 显示全部楼层

不对..这样算的跟我一样..p17等于(0 0 0)就对了..现在不等于(0 0 0),大师下载我的图试试就知道了..我就是没搞明白17组码怎么用...
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-26 02:18 , Processed in 0.233104 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表