填充图案拉伸 更新至6.0,可代替CAD原拉伸命令!!
本帖最后由 陈伟 于 2024-3-4 09:31 编辑原帖(关于拉伸,批量填充边界,填充拉伸的小程序)详http://bbs.mjtd.com/thread-181058-1-1.html,本次对原帖程序进行了大幅的修改,,原帖代码内容: (defun C:sw (/ pt1 pt2 sg i s1)
(princ "\n请选择拉伸对象(填充有边界会再次生成边界):")
(setq PT1 (getpoint "\n选择对象:"))
(setq PT2 (getcorner PT1 " >>>第二点:"))
;;(setq ent (entlast))
(setq sg (ssget "c" PT1 PT2 '((0 . "HATCH")) ) i -1);过滤对象只选填充图案
(while (setq s1 (ssname sg (setq i (1+ i))));批量生成填充边界
(command "-hatchedit" s1 "b" "p" "y")
)
(command".STRETCH" (ssget "c" PT1 PT2) "" pause pause);拉伸选择对象,可以修改只拉伸填充图案
;(COMMAND "_.erase"(last_ent ent) "");本打算删除最后的边界图元,可惜不成功!
(princ)
)
本人小白,经过几天熬夜查代码,,终于做出了可以跟CAD拉伸命令一样进行拉伸的程序!!!!!直接S命令就搞定,这次搞定了以前版本部分生成的边界无法删除的问题!!!在我心中已经相当完美了!!!!!(选择屏幕范围内的图案,注意:屏幕范围外的图案不做选择;这样在绘图的时候用起来就不会卡,,,,,,之前做了一稿全选图案的,可以在原帖回复中下载,实用起来时可能会卡顿)
------------------------------------------2020年6月5日 3.0版本发现一个问题,及解决方法-----------------------------------------------------------------------------
在图块编辑时如果用“在位编辑”可能会出错
工作原理是选择“屏幕范围内的图案”
用BE进入块编辑中没问题,,,在窗口“在位编辑有这个问题”;本程序(3.0这个)是窗口屏幕显示范围内所有填充图案,在位边界可能将图块中的图案和图块外的图案同时显示在了屏幕范围内,所以会出错;如果将图块中的图案放大,不要显示图块外的图案就没事了,,,刚试过!!!!
------------------------------------------2020年6月8日 4.0版本---------------------------------------------------------------------------------------------
4.0版本借用ET工具箱中的mstretch进行改进!!!!可以自由选择取消选择,选择的填充图案才会生成边界线,故不用担忧填充图案量大而比较卡的问题!!!3.0版本和4.0版本各有优缺点!!!
2020年6月22号对4.0进行修正,修正了部分填充图案不能取消选择的问题!!!
------------------------------------------2020年6月25日 5.0版本---------------------------------------------------------------------------------------------
本人目前就用5.0代替CAD自带的拉伸工具,注意:如需拉伸填充图案,第一次框选一定要选择带有填充图案的图元(可和其他图元一起选择)
已经实现了选择和取消选择,这个相当轻便灵活,运行速度快!!!保持了CAD自带拉伸工具的味道!!!唯一不足就是如果填充图案不是在第一次被框选,则不能拉伸!!!但是一般图案拉伸使用框选一次就可以了!!!
------------------------------------------拉伸 效果--------------------------------------------------------------------------------------------
------------------------------------------2020年11月12日 13日 5.0版本修改两个错误------------------------------------------------------------------
2020年11月12日,修改了一个错误、;修改了在CAD块编辑中,如选择参照编辑(在位编辑)时,如果拉伸时选择了CAD块以外的填充图案后,提示“此对象不在工作集中”,就无法拉伸的问题。。。。。。如遇到此问题可以用本版本可以将一部分填充图案做成块,然后用命令"refedit" 对 CAD 块 参照编辑,编辑时选中CAD块中和块以外的填充图案!以前的5.0版本会出错,这个版本不会出错了!!!大家可以试试
2020年11月13日,修改了一个错误:在第一次框选,如果框选空白处提示“选择对象: 指定对角点: 参数类型错误: lselsetp nil”,本次修改了改错误,麻烦下载过的朋友可以更新一下!!2020年11月20日,增加在第一次框选右键退出程序!!
------------------------------------------2021年09月23日 5.0版本修改更新-----------------------------------------------------------------
1、增加先选择,再执行命令(应广大网友需求增加,但可能存在BUG);
2、添加错误处理;
3、不再新建图层; 4、9月30日更新,添加undo处理,测回上一次 绘图不再有边界线
备注:先命令后拉伸是选择图案后立马就生成边界线,再选择其他图元,速度会快着点点,,,先选择后执行命令是所有选择完成后才开始生成边界线,速度会慢着点点,还有可能存在BUG!!!
------------------------------------------2021年10月16日 6.0版本-----------------------------------------------------------------
1、可任意选择填充图案进行拉伸,不限于第一个选择框;
2、填充图案尽量在第一个选择框进行选择
在这里感谢网友唯她、E派提供的帮助,由于有别人的代码,就不公开源代码了
------------------------------------------2021年10月27日 6.0版本 小改动-----------------------------------------------------------------
------------------------------------------2021年11月09日 6.0版本 小改动-----------------------------------------------------------------
修正第一个选择框未选择填充图案,后面的选择框选中的填充图案不能拉伸的问题;6.0版本可以对多次选择的填充图案进行拉伸!!!大多数时间均在第一个选择集中进行拉伸,故第一次框选之后不用确认自动生成填充边界,减少生成边界线的延迟时间(基本感觉不到生成边界线的延迟,除非填充图案数量特别大),会带来更好的体验效果!!!
------------------------------------------2022年9月13日 6.0版本 源码-----------------------------------------------------------------
明经已有人解出了源码,现公布源码,如有人对本插件改进了烦请传上来共享
------------------------------------------如需要,可更新到最新版本------------------------------------------------------------------
如有问题可加入以下QQ群,群号请下载:,如觉得有用,劳烦帮点一下支持和分享!!!
本帖最后由 陈伟 于 2024-3-4 09:49 编辑
公布填充图案拉伸6.0版本程序原稿,原公布的为网友用FAS文件反译的LSP源码,需要到朋友请下载“ 填充图案拉伸6.0 可任意拉伸20211109.LSP ”这个文件 本帖最后由 qazxswk 于 2022-5-2 23:07 编辑
我在浩辰上使用时,会经常出错,大致情况是,在图层管理器中,会经常(不是一定)出现同名的0层,Defpoints层,然后插件就不能用了,要重启浩辰CAD并打开文件,清理同名层,才能使用插件。我想问题出现在此插件反复创建填充边界层,再删除边界层,图层管理器反应不过来。才造成出错机率。
我试着修改了插件,原理大致这样:不创建填充边界层,在使用插件前,先保存当前层的颜色,之后再把当前层颜色设置为"255,255,255",然后进行拉伸操作,之后恢复当前层的颜色,之后再全选颜色为"255,255,255"的对象并删除。操作完成。我这样修改后,出错的机率就少了很多了。
之所以把颜色改为"255,255,255",这样是为了减少误删,我想很少有人会把对象颜色设置为"255,255,255",因为这个颜色打印时是不能显示在白纸上的。
本帖最后由 陈伟 于 2020-11-20 16:12 编辑
dongya1235 发表于 2020-11-13 14:36
很好用,11月12号更新的版本,好像没有忆上次拉伸的功能了,可否加上这个功能那,有时会拉几个一样距离的带 ...
我不用记忆拉伸,这个已经修复了在CAD块编辑中,如选择参照编辑(在位编辑)时,如果拉伸时选择了CAD块以外的填充图案后,提示“此对象不在工作集中”,就无法拉伸的问题。。。。。!11 月14日更新修正了第一次框选如果为空,就会出错!!
11 月20日更新增加第一次框选右键退出拉伸程序!!
本帖最后由 mokson 于 2020-7-10 08:04 编辑
越来越完美了。
填充拉伸,非常实用,谢谢
越来越完美了。 很好用,谢谢分享 已经下载,很好用,谢谢分享 关联填充和边框就能拉伸,但实际上很考验作图习惯,遇上没关联的就不行了。这个插件一次搞定,很有用! 从2.0一直买到4.0.....积分都扣没了啊.... 测试了几次效果挺好确实方便不少谢谢分享 本帖最后由 陈伟 于 2020-6-30 06:19 编辑
传图
今天有人问 多联块和挖孔块是否能拉伸,我试了一下没问题哈,有什么问题可以留言 交流。
多联块
挖孔块
如果没有选择对象直接退出的话自动生成的边界就不会删除,就这一点小小的瑕疵,总的来说非常棒!谢谢楼主分析! 不错,试一下 非常不错,赞一个 本帖最后由 陈伟 于 2020-5-30 20:16 编辑
whuluqw 发表于 2020-5-30 18:24
如果没有选择对象直接退出的话自动生成的边界就不会删除,就这一点小小的瑕疵,总的来说非常棒!谢谢楼主分 ...
可以当两个工具用,有时候需要生成边界的时候,就中途退出去就可以了!!!!!非自然原因退出去生成的边界线,在第二次执行完整命令后会将未删除的边界线一次删除!!!况且 生成的边界图层已设置为不打印图层,对作图不影响 陈伟 发表于 2020-5-30 20:11
可以当两个工具用,有时候需要生成边界的时候,就中途退出去就可以了!!!!!非自然原因退出去生成的边 ...
是的,所以使用还是没问题的,已经用来替换了CAD的拉伸命令:lol,再次感谢楼主分享! 收下了,感谢!