我对Autolisp不是特别熟练——也许这个线程有一些有用的信息。
http://www.cadtutor.net/forum/showthread.php?53140-选择尺寸并更改线性尺寸比例&高光=线性尺寸因子 是的,它在回程机器领域。 谢谢你的链接肖特,我已经看了那个线程。。。这里显示的代码对我来说有点太高级了。
不过我想我能听懂数学。每次缩放时,我需要根据当前LSF和新SF设置LSF。
然而,我目前正在努力解决的是将维度从比例选择集中分离出来。因此,目前我可以为SCALE命令创建一个要操作的选择集,但是我如何才能创建仅从SCALE选择集获得的第二个维度选择集?
再次感谢。 这听起来可能是FILTER命令的好工作。
设置过滤器需要几分钟,所以考虑保存它们
为了便于将来使用,可以随时使用对话框中的“另存为”选项。
或者使用LAYISO会更容易,只需选择它们。 嗨,Dadgad,
谢谢你的回复,我想我正在(缓慢)进步。
我得到以下代码:
(defun c:nsc ( / )
(setq ss1nsc (ssget))
(if (setq ss2nsc (ssget "P" '((0 . "dimension"))))
(PROGN
(alert "Dims selected!")
(command "explode" ss2nsc)
(setq ss3nsc (ssget "P"))
)
)
(command "scale" ss1nsc ss3nsc "" pause (setq sfnsc (getreal)))
)
这段代码有点可行,可以分解维度,但它只能从选择集中分解一个维度。关于如何将全尺寸选择集传递给EXPLODE命令,有什么想法吗? 嘿伙计们,
下面的代码运行正常。
(defun c:psc ( / I L SS1NSC SS2NSC SS3NSC )
(setq ss1nsc (ssget))
(if (setq ss2nsc (ssget "P" '((0 . "dimension"))))
(PROGN
(repeat (setq i (sslength ss2nsc))
(setq l (cons (ssname ss2nsc (setq i (1- i))) l))
(command "explode" ss2nsc)
(command "select" ss3nsc "P" "")
(setq ss3nsc (ssget "P"))
)
)
)
(command "scale" ss1nsc ss3nsc "" pause pause)
)
我用过:
(command "select" ss3nsc "P" "")
(setq ss3nsc (ssget "P"))
将每个分解尺寸添加到选择集,并在每次重复时累积。
很高兴能得到一些反馈,找到一种更有效的方法来完成这项工作,但目前确实有效。
期待回音。
页:
1
[2]