GamIng 发表于 2014-10-11 12:38:23

菜鸟的问题:如何实现指定的拉伸距离?

(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-11 21:02:22

本帖最后由 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)
)

GamIng 发表于 2014-10-12 11:38:29

ZZXXQQ 发表于 2014-10-11 21:02 static/image/common/back.gif


多谢Z版!

但好像 "C" 应该删了。在运行过程中,无法直观看到拉伸方向。能更进一步吗?

GamIng 发表于 2014-10-13 09:18:52

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)
)

GamIng 发表于 2014-10-24 15:59:50

ZZXXQQ 发表于 2014-10-11 21:02 static/image/common/back.gif


今天又试了,可以用的。多谢Z版!
页: [1]
查看完整版本: 菜鸟的问题:如何实现指定的拉伸距离?