明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2212|回复: 14

[提问] 求高手完善给图案填充重建边界程序

[复制链接]
发表于 2020-8-27 11:13:48 | 显示全部楼层 |阅读模式
有时候接受到别人的图纸有大量的填充图案 但是对方却删除了原有的填充边界,而我又需要用到原有的边界图形
这就需要对图案填充重建边界,在论坛找到下面一段程序可以解决我的问题,但还有一点需要完善
就是:当输入命令选择图案填充并回车后,边界也已经重建好,但是原来的图案填充也被删除了
我希望改成边界重建好后命令行给个提示,询问:是否要删除填充图案,yes/no?<y>
直接回车的话默认是yes:
输入N就执行删除已重建边界的图案填充

程序如下:

  1. (princ "\n 填充批量转多段线(删除填充)命令:hl ")

  2. (defun c:hl ()。

  3.   (setvar "cmdecho" 0)

  4.   (setq s (ssget '((0 . "hatch"))))

  5.   (setq n (sslength s))

  6.   (setq k 0)

  7.   (while (< k n)

  8.     (setq name (ssname s k))

  9.     (command "-hatchedit" name "b" "p" "y")

  10.     (setq k (+ k 1))

  11.   )

  12.     (command "erase" s "")

  13.    (setvar "cmdecho" 1)

  14. )




 楼主| 发表于 2020-8-27 16:48:51 | 显示全部楼层
start4444 发表于 2020-8-27 14:17
(command "erase" s "")   改为:  (if (= (getstring "\n 是否删除填充?[否(N)/是(空格)]:") "n") ()(com ...

谢谢,这就是我要的效果,谢谢大神
发表于 2020-8-27 14:17:40 | 显示全部楼层
(command "erase" s "")   改为:  (if (= (getstring "\n 是否删除填充?[否(N)/是(空格)]:") "n") ()(command "erase" s ""))
发表于 2020-9-2 20:44:42 | 显示全部楼层
baoyizhu 发表于 2020-8-30 15:23
这是批量重建,有几千个孔位需要重建的时候不可能一个个点

命令:HATCHGENERATEBOUNDARY
支持多选对象。
几千个也是一次全部搞定。无需自己去写代码。
发表于 2020-8-27 12:00:06 来自手机 | 显示全部楼层
  (command "erase" s "");;删除s选择集
发表于 2020-8-27 12:32:49 | 显示全部楼层
本帖最后由 845245015 于 2020-8-27 12:36 编辑

填充批量转多段线(Yy空格回车删除填充)命令hl

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2020-8-27 23:21:44 | 显示全部楼层
谢谢! 845245015 分享程序!!!!!!!!!!
发表于 2020-8-29 12:09:16 | 显示全部楼层
谢谢各位大神的分享
发表于 2020-8-30 13:45:26 | 显示全部楼层
重建边界这个是 hatechedit 命令 中现成的功能,不需要自己去写
 楼主| 发表于 2020-8-30 15:23:50 | 显示全部楼层
e2002 发表于 2020-8-30 13:45
重建边界这个是 hatechedit 命令 中现成的功能,不需要自己去写

这是批量重建,有几千个孔位需要重建的时候不可能一个个点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-17 14:36 , Processed in 0.200706 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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