明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 陈伟

填充图案拉伸 更新至6.0,可代替CAD原拉伸命令!!

    [复制链接]
发表于 2020-6-1 08:17:34 | 显示全部楼层
多谢楼主分享,下载试用一下
发表于 2020-6-1 15:21:24 | 显示全部楼层

多谢楼主分享
发表于 2020-6-1 18:07:14 | 显示全部楼层

多谢楼主分享
发表于 2020-6-1 20:45:19 | 显示全部楼层
本帖最后由 lingduwx 于 2020-6-1 20:46 编辑

大侠你好,可否在此完美版基础上修改一版,增加屏幕外框选,主要是有时框选之后需要放大好捕捉,这样就超出屏幕外了,谢谢
发表于 2020-6-2 19:21:00 | 显示全部楼层
大神辛苦了,感谢!
 楼主| 发表于 2020-6-3 21:56:07 | 显示全部楼层
下面这个程序只能实现单次选择,不会出现卡顿问题,而且选择的区域不能取消,有大神能够帮忙实现像CAD自带拉伸工具一样自由选择取消吗(ssnamex获得多个选择区域,并重新选择这些区域)!


(defun C:S123( )


(setq xyxyxy (last (ssnamex (setq ss (ssget)) 0)))  ;;获得ssget选择集的一个信息表。
(setq xt (last (cadr xyxyxy)) yt (last (cadddr xyxyxy)))     ;;提取刚才的窗选对角坐标。
(setq xt (trans xt 0 1)
      yt (trans yt 0 1)
)



(setq old_lay (getvar "clayer")) ;保存当前图层
   (setq layer "TC填充图案边界线")
        (if (not (tblsearch "layer" layer ))
        (progn   (command "layer" "new" "TC填充图案边界线" "s" "TC填充图案边界线" "C" 231 "" "L" "Continuous" "" "P" "N" "" "LW" 0"" "") )  );新建图层
  (COMMAND "clayer" layer) ;置当前图层

(setq sg (ssget "P" '((0 . "HATCH")) ) i -1 );过滤对象只选填充图案
  (if sg (while (setq s1 (ssname sg (setq i (1+ i))));批量生成填充边界
    (command "-hatchedit" s1 "b" "p" "y") ))
(setvar "clayer" old_lay) ;恢复原先图层

(setq s2 (ssget "c" xt yt ))
(command ".STRETCH" S2 "" pause pause)   ;;


(setq sggg (ssget "A"  '((8 . "TC填充图案边界线"))))
(COMMAND "_.erase"  sggg "");删除生成的边界线!

  (princ)
)
发表于 2020-6-4 10:45:24 | 显示全部楼层
看着很强大
发表于 2020-6-5 08:23:36 | 显示全部楼层
好东西,收藏了,感谢提供源代码。
发表于 2020-6-8 15:58:48 | 显示全部楼层
大佬,可不可以增加个记忆功能,显示上资拉伸的距离,空格直接按上次的拉伸的长度拉伸。
发表于 2020-6-9 12:19:08 | 显示全部楼层
感谢分箱,马住
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-17 21:46 , Processed in 0.188222 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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