找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 779|回复: 10

[求助] 想在视图中间画一个园,但是坐标为什么偏离

[复制链接]
发表于 2017-7-6 16:48:38 | 显示全部楼层 |阅读模式

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

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

×
问题好像出在viewctr是以0为原点计算的坐标,但实际上视图中图形的原点不在左下角

(defun  winpt()
   (setq cpt (getvar "viewctr"))
   (setq csz (getvar "screensize"))
   (setq ch (/ (cadr csz) 2))
   (setq vh (getvar "viewsize"))

   (setq scale (/ (/ vh 2.0) ch)))

   (setq pt (list (* (car csz) scale )  (*  (cadr csz) scale )))

(command "_circle" pt 100)


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

已领礼包: 19个

财富等级: 恭喜发财

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

使用道具 举报

 楼主| 发表于 2017-7-6 18:50:19 | 显示全部楼层
我想我没有说清楚,取得的viewctr是一个中心坐标,这个中心坐标是以原点放在左下角时计算得到的,但实际绘图时,往往有偏移,原点坐标和屏幕左下角显示的坐标并非重合的,所以画出来的原位置不对
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2017-7-7 00:09:13 | 显示全部楼层

难道我们用的不是同一个公司出的AUTOCAD?

加载下下面代码试试,看是不是在屏幕中心画一个半径是屏幕高度1/10的圆出来。

  1. (defun c:tt ()
  2.   (setq p (getvar "viewctr"))
  3.   (command "circle" p (/ (getvar "viewsize") 10.0))
  4.   (princ)
  5. )


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

使用道具 举报

已领礼包: 6056个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 3904个

财富等级: 富可敌国

发表于 2017-7-7 07:32:58 | 显示全部楼层
实际上视图中图形的原点不在左下角
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2232个

财富等级: 金玉满堂

发表于 2017-7-7 09:08:13 | 显示全部楼层
路过来学习一下。。。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-7 09:12:51 | 显示全部楼层

我想你没有明白我的意思,我的步骤是:1,打开cad
2,运行代码
3,使用平移工具平移整个图,注意是整个图
4,再运行代码

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2017-7-7 09:21:15 | 显示全部楼层

不是人家没理解你意思,你自己看看从头到尾,你说过要先移动图了吗?你说的就是在屏幕中心画个圆。所以发帖求助、研讨,最好就直接说想做什么,做到哪了,哪里出什么问题了,客观描述,不要加入自己的结论,你中间过程的自己的结论,可能会误导别人。

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2017-7-7 09:24:56 | 显示全部楼层

你用下 LISPHK的代码,执行一次,平移下图,在执行一次,你看看圆是不是画在同一个位置? 肯定不是同一个位置,是当前窗口的中心。
你是想在当前屏幕窗口的中心画一个圆? 还是要在你选的所有实体的包围框的中心点画圆?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-7 10:32:07 | 显示全部楼层

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-12 09:42 , Processed in 0.349389 second(s), 49 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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