你有种再说一遍
发表于 2024-10-20 14:33:46
jierc 发表于 2024-10-20 11:12
8.2测试如果拉伸过程按ESC取消后,会导致CAD出现问题,希望优化
Lisp做不好这个东西的,
ESC要靠钩子拦截再禁止回调,然后回收边界,回收又导致UndoLog记录了,导致撤回出现边界.
还是要转入到C#或者ARX才能做
释烬
发表于 2024-10-25 22:29:03
预览红线真的没必要251或者7号色不好吗 lsp下载不了 这个权限设置好吗 我也是没看懂
释烬
发表于 2024-10-26 14:52:14
老大 记忆拉伸怎么用啊 有个问题就是生成的TC_填充边界框 图层最后怎么没有删除呢 等于说图纸多了个图层
yoyrtweq
发表于 2024-11-9 10:23:36
本帖最后由 yoyrtweq 于 2024-11-9 11:18 编辑
这也是论坛里大佬写的,这个比群主精简点,但产生的填充边界稍微慢点和没有拉伸预览。但这个胜在与拉伸出数值后,直接框选后往左往右都可以按照拉伸数值走,但群主的往左就只能往左,必须在设置中反向才能往右。能否结合各家的优点进行优化。提升效率一些。优化下代码上取消反向,直接框选后往左往右都可以按照拉伸数值走呢。
(defun C:S( )
(setq old_lay (getvar "clayer")) ;保存当前图层
(setq layer "填充边界线")
(if (not (tblsearch "layer" layer ))
(progn (command "layer" "new" "填充边界线" "s" "填充边界线" "C" 5 "" "L" "Continuous" "" "P" "N" "" "Tr" "90" "" "LW" 0"" "") ));新建图层
(setvar "clayer" old_lay) ;恢复原先图层
(princ "\n请选择:除第一个选择框外,其他选择框中的非关联填充图案不会被拉伸")
(setq xyxyxy (last (ssnamex (setq ss (ssget ":S" )) 0)));;选择需要拉伸的填充图案或者其他图元,获得ssget选择集的一个信息表。
(setq xt (last (cadr xyxyxy)) yt (last (cadddr xyxyxy))) ;;提取刚才的窗选对角坐标。
(setq xt (trans xt 0 1)
yt (trans yt 0 1)
)
(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")(setq sggg (ssget "A"'((8 . "填充边界线"))))(command "draworder" sggg "" "b" ) )) ;批量生成填充边界,选择边界线,后置边界线
(setvar "clayer" old_lay) ;恢复原先图层
(command "SELECT" "c" "non"xt "non"yt pause )
(command ".STRETCH""p""") ;;
(command (setq pt (getpoint "\n指定基点:")))
(IF (NULL *dd*) (setq *dd* 10))
(setq dd (getdist pt (strcat "\n输入拉伸距离<" (rtos *dd* 2 2) ">:")))
(if (NULL dd) (setq dd *dd*) (setq *dd* dd))
(command dd)
(if sg (while (COMMAND "_.erase"sggg "") ));删除生成的边界线!
(princ)
)
kucha007
发表于 2024-11-11 09:14:33
释烬 发表于 2024-10-26 14:52
老大 记忆拉伸怎么用啊 有个问题就是生成的TC_填充边界框 图层最后怎么没有删除呢 等于说图纸多了个图层
每次拉伸都新建然后删除图层,在图层多的时候可能会很卡。所以改为清空图层
kucha007
发表于 2024-11-11 09:15:34
yoyrtweq 发表于 2024-11-9 10:23
这也是论坛里大佬写的,这个比群主精简点,但产生的填充边界稍微慢点和没有拉伸预览。但这个胜在与拉伸出数 ...
收到,学习一下~
释烬
发表于 2024-11-11 13:40:40
kucha007 发表于 2024-11-11 09:14
每次拉伸都新建然后删除图层,在图层多的时候可能会很卡。所以改为清空图层
生成图层是不合适的 还有就是这个脚本还是会有出错额情况 请检查下
yoyrtweq
发表于 2024-11-11 14:20:19
kucha007 发表于 2024-11-11 09:15
收到,学习一下~
我觉得你写的这个比较流畅,拉伸不卡顿,我这个就是拉伸时候要计算边框,有点卡顿,能结合把你这个优化下,又能流畅拉伸,还能预览,还能左右都能记忆拉伸,就非常nice了
kucha007
发表于 2024-11-12 10:07:21
释烬 发表于 2024-11-11 13:40
生成图层是不合适的 还有就是这个脚本还是会有出错额情况 请检查下
具体是指哪里出错?
kucha007
发表于 2024-11-12 13:18:26
yoyrtweq 发表于 2024-11-11 14:20
我觉得你写的这个比较流畅,拉伸不卡顿,我这个就是拉伸时候要计算边框,有点卡顿,能结合把你这个优化下 ...
试了一下,动态的时候不支持直接空格。但是输入拉伸距离支持极坐标。静态和你给的程序保持一致了