菜鸟的问题:如何实现指定的拉伸距离?
(defun c:S1 (/ S_distance basicpoint old_ORTHOMODE)(setq old_ORTHOMODE (getvar "ORTHOMODE"))
(setvar "ORTHOMODE" 1)
(setq S_distance 100)
(command ".STRETCH" (ssget) "")
(command (setq basicpoint (getpoint "\n指定基点:")) )
(command S_distance)
(setvar "ORTHOMODE" old_ORTHOMODE)
(princ)
)
路过的各位伸个手。多谢! 本帖最后由 ZZXXQQ 于 2014-10-13 07:52 编辑
(defun c:S1 (/ S_distance basicpoint old_ORTHOMODE pt)
(setq old_ORTHOMODE (getvar "ORTHOMODE"))
(setvar "ORTHOMODE" 1)
(setq S_distance 100)
(command ".STRETCH" "C" (ssget) "")
(setq basicpoint (getpoint "\n指定基点:"))
(setq pt (getpoint basicpoint "\n指定方向:"))
(command basicpoint (polar basicpoint (angle basicpoint pt) S_distance))
(setvar "ORTHOMODE" old_ORTHOMODE)
(princ)
)
ZZXXQQ 发表于 2014-10-11 21:02 static/image/common/back.gif
多谢Z版!
但好像 "C" 应该删了。在运行过程中,无法直观看到拉伸方向。能更进一步吗? ZZXXQQ 发表于 2014-10-11 21:02 static/image/common/back.gif
Z版,论坛搜到的相关帖子不需要指定方向的。如何修改?
;源地址http://bbs.mjtd.com/forum.php?mod=redirect&goto=findpost&ptid=101864&pid=590781&fromuid=38464
(defun c:SS (/ s_disyd old_ORTHOMODE)
(setq old_ORTHOMODE (getvar "ORTHOMODE"))
(setvar "ORTHOMODE" 1)
(command ".STRETCH" (ssget) "")
(command (setq basicpoint (getpoint "\n指定基点:")))
(if (= nil s_dis_allyd)
(progn (setq s_dis_allyd (getreal "\n输入拉伸距离:"))
(command s_dis_allyd)
)
(progn (setq
s_disyd (getreal
(strcat "\n输入拉伸距离<" (rtos s_dis_allyd) ">")
)
)
(if (= nil s_disyd)
(setq s_disyd s_dis_allyd)
)
(command s_disyd)
(setq s_dis_allyd s_disyd)
)
)
(setvar "ORTHOMODE" old_ORTHOMODE)
(princ)
) ZZXXQQ 发表于 2014-10-11 21:02 static/image/common/back.gif
今天又试了,可以用的。多谢Z版!
页:
[1]