找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 715|回复: 5

[求助] [求助]:郁闷 高手帮我解惑(不知道怎么说)

[复制链接]
发表于 2005-12-15 21:49:13 | 显示全部楼层 |阅读模式

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

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

×
看这段程序 以直线中点为圆心画圆
(defun c:mcir2()
   (setvar "cmdecho" 0)
   (setq en (entsel "Select a LINE:"))
   (setq pts(cadr en))                                 

(setq mpt (osnap pts "midp"))                                                ;直接取得中点
   (setq mr (getdist mpt "Circle Radius:"))        ;要求输入半径值
   (command "circle" mpt mr)                                                        ;完成中点画圆
   (prin1)
)
我查函数 是这么理解的
entsel 获取一点的坐标表(x  y)
(cadr en)就是返回点y坐标的值即 pts 为(y)
那么(osnap pts "midp")为什么是返回直线的中点?
请高手帮我指正 是哪里理解错了
谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 2个

财富等级: 恭喜发财

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

使用道具 举报

 楼主| 发表于 2005-12-15 22:05:07 | 显示全部楼层
不明白
osnap pts "midp"
为什么会是返回 直线的中点呢?
pts 不是一个坐标 的表吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2005-12-15 22:12:18 | 显示全部楼层
最初由 eobser 发布
[B]不明白
osnap pts "midp"
为什么会是返回 直线的中点呢?
pts 不是一个坐标 的表吗? [/B]

语法

    (osnap pt mode-string)

功能及参数

    这个函数将返回一个 3D 的点, 这个点是将 mode-string所描述的图形捕捉模式应用到点 pt 的结果。mode-srting这个字符串包含了一个或多个有效的图形捕捉识别字, 如:midpoint, center 等, 其中它们是以逗号分开的。

范例

    (setq pt2 (osnap pt1 "midp"))

    (setq pt2 (osnap pt1 "midp, endp, center"))

osnap 函数所返回的点是依据目前的3D视面以及在APERTURE系统变量中的设定来决定的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-15 22:19:58 | 显示全部楼层
也就是
osnap 的对象pt是关联到entsel 说选择的图元(程序中的直线)
如果entsel 中选择的是一个圆 那osnap pt  "midp"的结果是圆心
是这样吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8157个

财富等级: 富甲天下

发表于 2005-12-16 10:45:04 | 显示全部楼层
执行思路验证

Command: Circle CIRCLE Specify center point for circle or [3P/2P/Ttr (tan tan
radius)]:
Specify radius of circle or [Diameter]:
Command: (setq ee (entsel))

Select object: (<Entity name: 7ef59ee8> (267.726 138.555 0.0))

Command: (setq pt (cadr ee))
(267.726 138.555 0.0)

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 22:21 , Processed in 0.191870 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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