1028695446
发表于 2022-5-4 13:08:02
额。。。。。。。。。。
(setq list_ent (pickset_2list ss))缺函数 pickset_2list
;选择集与对象名表互转
(defun pickset_2list (ss / enlst)
(cond
((= (type ss) 'PICKSET)
(vl-remove-if-not '(lambda (x) (= (type x) 'ENAME)) (mapcar 'cadr (ssnamex SS)))
)
((= (type ss) 'LIST)
(setq enlst (ssadd))
(last (mapcar '(lambda (x) (ssadd x enlst)) ss))
)
)
)
sunfj
发表于 2022-5-4 15:49:52
本帖最后由 sunfj 于 2022-5-4 15:54 编辑
1028695446 发表于 2022-5-4 13:08
额。。。。。。。。。。
(setq list_ent (pickset_2list ss))缺函数 pickset_2list
加上这一个函数后,就有如下问题了:
比如:有两条虚线,线型比例都是2000,将两条虚线同时选中,执行超级动态调整命令,左键点击选点进行动态调整,那么这个时候调整出来的比例是2000*一个很大的数,最终结果是巨大的数,根本无法调出来。其他的如填充调整、标注尺寸调整整也是如此。如果选一个图元就没问题了。看看怎么再完善一下,谢谢。
20060510412
发表于 2022-5-4 16:16:34
sunfj 发表于 2022-5-4 15:49
加上这一个函数后,就有如下问题了:
比如:有两条虚线,线型比例都是2000,将两条虚线同时选中,执行超 ...
批量操作需要先同时选中多个对象,再执行本程序即可。
同时注意,单个对象操作,显示的比例是图元的实际比例;多个对象批量操作时,显示的比例是图元比例的缩放值。
1028695446
发表于 2022-5-4 16:17:24
sunfj 发表于 2022-5-4 15:49
加上这一个函数后,就有如下问题了:
比如:有两条虚线,线型比例都是2000,将两条虚线同时选中,执行超 ...
找作者哦,这个程序我看了下,我也一脸懵
sunfj
发表于 2022-5-4 16:30:33
20060510412 发表于 2022-5-4 16:16
批量操作需要先同时选中多个对象,再执行本程序即可。
同时注意,单个对象操作,显示的比例是图元的实际 ...
对,我就是说多个对象批量操作时,显示的比例是图元比例的缩放值,也是可以的,但是这个缩放值能不能别那么灵敏?因为本来线型比例就已经很大了,比如是2000,批量操作时,鼠标动一点点,就放大了50倍,甚至100倍,想调个2倍是无法做到的。我是这个意思。你可以操作试一下。
20060510412
发表于 2022-5-4 16:37:51
sunfj 发表于 2022-5-4 16:30
对,我就是说多个对象批量操作时,显示的比例是图元比例的缩放值,也是可以的,但是这个缩放值能不能别那 ...
可以使用命令E,手动输入比例的精确值。
或者,如果觉得过于灵敏,可以直接在源代码里面调整的。
sunfj
发表于 2022-5-4 17:55:19
对,可以的,程序太牛了太复杂,我得研究会。
sunfj
发表于 2022-5-4 18:38:14
20060510412 发表于 2022-5-4 16:37
可以使用命令E,手动输入比例的精确值。
或者,如果觉得过于灵敏,可以直接在源代码里面调整的。
引入了DIMSCALE,解决了。
(setq sc1 (getvar "DIMSCALE"))
把(* y bl)换成
(/ (* y bl 0.1) sc1)
paulpipi
发表于 2022-5-4 21:02:40
真的挺好用,谢谢分享
liweitung
发表于 2022-5-6 07:56:40
很好,谢谢分享!