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

很好,谢谢分享!
页: 1 2 [3] 4 5 6
查看完整版本: 超级动态调整