zzc83 发表于 2013-1-1 14:22:51

求助,以多个多段线为拉伸范围。进行拉伸。

以多个多段线为拉伸范围。进行拉伸。
1以选择多段线为拉伸范围。
2可以多选。
3可以记录拉伸距离。

蒹葭_Keirll 发表于 2013-1-1 14:22:52

已修改,请重新测试

蒹葭_Keirll 发表于 2013-1-1 21:45:09

请试一下这个是不是你想要的

蒹葭_Keirll 发表于 2013-1-1 21:45:44

(defun c:ddd(/ ss i newss enname endata p1 p2 s_dis BasicPoint os x ptl)
(setq os (getvar "osmode"))
(setq ss (ssget) i 0 BasicPoint (getpoint "\n输入基点:"))
(command "stretch")
(repeat (sslength ss)
    (setq enname (ssname ss i) )
    (setq endata (entget enname))
    (setq ptl '())
    (foreach x endata (if (= (car x) 10) (setq ptl (cons (cdr x) ptl))))
    (setq newss (ssget "CP" ptl (list (cons 0 "LINE"))))
    (command newss)
    (setq i (1+ i))
) ;end repeat
(command "" BasicPoint)
(if (= nil RemMove_dis_all)
    (progn
      (setq RemMove_dis_all (getreal "\n输入移动距离:"))
      (setvar "osmode" 0)
      (command RemMove_dis_all)
    ) ;end pro
    (progn
      (setq s_dis
            (getreal (strcat "\n输入移动距离<" (rtos RemMove_dis_all 2 4) ">:"))
      ) ;end set
      (if (= nil s_dis)
      (setq s_dis RemMove_dis_all)
      ) ;end if
      (setvar "osmode" 0)
      (command s_dis)
      (setq RemMove_dis_all s_dis)
    ) ;end pro
) ;end if
(setvar "osmode" os)
(princ)
)

zzc83 发表于 2013-1-1 21:48:44

谢谢,马上测试,两贴是一样的吧?

zzc83 发表于 2013-1-1 21:56:44

本帖最后由 zzc83 于 2013-1-1 21:57 编辑

蒹葭_Keirll 发表于 2013-1-1 21:45 http://bbs.mjtd.com/static/image/common/back.gif

测试后,有如下问题
1只能拉伸最后选择的多段线,
2在多段线范围内的标注没有拉伸
如下图

ucuc2003 发表于 2013-1-1 22:50:24

本帖最后由 ucuc2003 于 2013-1-1 22:50 编辑

楼主这个悬赏的图标是怎么做出来的?

zzc83 发表于 2013-1-1 22:55:28

本帖最后由 zzc83 于 2013-1-1 22:57 编辑

蒹葭_Keirll 发表于 2013-1-1 22:31 http://bbs.mjtd.com/static/image/common/back.gif
已修改,请重新测试

测试后,已经满足我的要求了,只是长方形框 拉伸后变成梯形,感觉怪怪的,怕有些点不在拉伸范围内,能不能稍微再修改一下,谢谢蒹葭。
附张拉伸后图

蒹葭_Keirll 发表于 2013-1-2 08:50:59

已经在选择集中删除了红色框,请测试

nfr 发表于 2013-1-2 19:18:45

本帖最后由 nfr 于 2013-1-2 19:20 编辑

已测试,很好用,
页: [1]
查看完整版本: 求助,以多个多段线为拉伸范围。进行拉伸。