qcw911 发表于 2011-1-13 22:00:04

输入一次拉伸后,默认上一次拉伸的距离

在作图时有很多对象要拉伸相同的长度,使用stretch命令时,在选择完对象,输入了基点后,每次都在再输入相同的长度值(是数字挺多的小数哟,如50.005),很是麻烦!!!         能否实现拉伸长度确定后自动输入???
高手帮忙

yucpp 发表于 2011-1-13 22:00:05

本帖最后由 yucpp 于 2011-1-15 23:54 编辑

这个是可以实现的。你可以自己编个命令,把stretch命令引用到你的程序里面。把拉伸距离设成一个全局变量,每次要输入拉伸距离的时候就判段这个变量值,并把他作为默认值就可以了。
我按照上面的想法编了一个,你参考下。

;;拉伸不用输入距离程序参考。s_dis_all为全局变量,保存的是默认拉伸距离,不可设置为局部变量
;;使用注意事项:在拾取拉伸基点后,输入拉伸距离时,鼠标十字指针不能停留在基点上
;;这是因为你要给拉伸指定一个方向
(defun c:ss (/ s_dis)
(command ".STRETCH" (ssget) "")
(command (setq BasicPoint (getpoint "\n指定基点:")))
(if (= nil s_dis_all)
    (progn
      (setq s_dis_all (getreal "\n输入拉伸距离:"))
      (command s_dis_all)
    )
    (progn
      (setq
s_dis (getreal
(strcat "\n输入拉伸距离<" (rtos s_dis_all 2 4) ">:")
       )
      )
      (if (= nil s_dis)
(setq s_dis s_dis_all)
      )
      (command s_dis)
      (setq s_dis_all s_dis)
    )
)
)

yxl88168 发表于 2011-5-1 15:53:44

这个很好用,谢谢楼主

cjjh8301 发表于 2011-5-1 16:48:24

的确好用,感谢!!

yoyoho 发表于 2011-5-20 08:27:59

不错实用,感谢楼主分享!
页: [1]
查看完整版本: 输入一次拉伸后,默认上一次拉伸的距离