找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2383|回复: 6

[求助] 矩形边拉伸固定值,请帮修改加强一下(能记忆值更好)

[复制链接]
发表于 2013-10-3 13:31:11 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 ww5w 于 2013-10-3 14:35 编辑

点多边形的边拉抻
(setq ent (entsel"\n请选择要拉伸线段:"))
(setq PNT (apply 'vlax-curve-getClosestPointTo ENT))
(setq ENT (car ENT))
(setq PP  (fix (vlax-curve-getParamAtPoint ENT PNT)))
(setq pa (vlax-curve-getPointAtParam ENT  PP);;节点1
       pb (vlax-curve-getPointAtParam ENT (1+ PP)) ) ;;节点2
(command "_.stretch" "c" "non" pa "non" Pb "" "non" pnt )  ; 想在指定方向后自动拉伸啦0.5,这里的要怎么弄?
谢谢.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-3 14:25:29 来自手机 | 显示全部楼层
本帖最后由 st788796 于 2013-10-3 14:52 编辑

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-3 20:20:40 | 显示全部楼层
其中的一种方法,没有写 *error* ,这个方法不能用记忆距离
  1. (defun c:tt (/ callback e p0 pts spt i1 i2 p00)
  2.   (defun callback (dynpt / v)
  3.     (setq v (mapcar '- dynpt p0))
  4.     (xdrx_entity_movestretchpoint (car e) v i1 i2)
  5.     (setq p0 dynpt)
  6.   )
  7.   (if (setq e (xdrx_entsel "\nPick Pline: " '((0 . "*polyline"))))
  8.     (progn
  9.       (setq p0 (trans (cadr e) 1 0)
  10.      p00 p0
  11.      pts (xdrx_polyline_getlinesegat
  12.     (car e)
  13.     (fix (vlax-curve-getparamatpoint
  14.     (car e)
  15.     (apply 'vlax-curve-getclosestpointto e)
  16.          )
  17.     )
  18.   )
  19.      spt (xdrx_entity_getstretchpoint (car e))
  20.      i1 (vl-position (car pts) spt)
  21.      i2 (vl-position (cadr pts) spt)
  22.       )
  23.       (xdrx_pointmonitor "callback" (car e))
  24.       (setq p (getpoint (cadr e) "\nDist: "))
  25.       (xdrx_pointmonitor)
  26.     )
  27.   )
  28.   (princ)
  29. )

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

使用道具 举报

 楼主| 发表于 2013-10-4 10:00:15 | 显示全部楼层
本帖最后由 ww5w 于 2013-10-4 10:49 编辑

谢谢楼上的前辈。
我弄了个简单先解决一下用着.
(setq p1 (getpoint pnt "\n指定拉伸方向 :"))
(setq p2 (polar pnt (angle pnt p1) 0.5))
(command "_.stretch" "c" "non" pa "non" Pb "" "non" pnt "non" p2)
;;;现在还有个问题是p1要用鼠标点,如果用空格就退出了,
不知用什么办法可以在指点p1点时,移动鼠标后点左键或空格都可以确定p1点.

点评

没有点是确定不了方向的,所以回车时要取得当前鼠标点坐标,可用的函数 1 2  详情 回复 发表于 2013-10-4 11:07
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-10-4 11:07:09 | 显示全部楼层
ww5w 发表于 2013-10-4 10:00
谢谢楼上的前辈。
我弄了个简单先解决一下用着.
(setq p1 (getpoint pnt "\n指定拉伸方向 :"))

没有点是确定不了方向的,所以回车时要取得当前鼠标点坐标,可用的函数  
1
  1. (if (not (setq p1 (getpoint pnt "\nDirection: ")))
  2.   (setq p1 (xdrx_document_getmousecoord))
  3. )

2
  1. (if (not (setq p1 (getpoint pnt "\nDirection: ")))
  2.   (setq p1 (cadr (grread 1 0)))
  3. )


点评

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

使用道具 举报

 楼主| 发表于 2013-10-4 11:51:05 | 显示全部楼层
Free-Lancer 发表于 2013-10-4 11:07
没有点是确定不了方向的,所以回车时要取得当前鼠标点坐标,可用的函数  
1
2

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 03:04 , Processed in 0.444522 second(s), 49 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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