Dana W 发表于 2022-7-5 23:44:17

好的,看。自从1967年高中毕业后,我就没有学过数学。

SEANT 发表于 2022-7-5 23:48:48

1967! 该死,那是很久以前的事了。

SEANT 发表于 2022-7-5 23:50:33

 
 
我对Autolisp不是特别熟练——也许这个线程有一些有用的信息。
http://www.cadtutor.net/forum/showthread.php?53140-选择尺寸并更改线性尺寸比例&高光=线性尺寸因子

Dana W 发表于 2022-7-5 23:55:17

是的,它在回程机器领域。

lamensterms 发表于 2022-7-5 23:58:51

谢谢你的链接肖特,我已经看了那个线程。。。这里显示的代码对我来说有点太高级了。
 
不过我想我能听懂数学。每次缩放时,我需要根据当前LSF和新SF设置LSF。
 
然而,我目前正在努力解决的是将维度从比例选择集中分离出来。因此,目前我可以为SCALE命令创建一个要操作的选择集,但是我如何才能创建仅从SCALE选择集获得的第二个维度选择集?
 
再次感谢。

Dadgad 发表于 2022-7-6 00:03:13

这听起来可能是FILTER命令的好工作。
设置过滤器需要几分钟,所以考虑保存它们
为了便于将来使用,可以随时使用对话框中的“另存为”选项。
 
或者使用LAYISO会更容易,只需选择它们。

lamensterms 发表于 2022-7-6 00:06:25

嗨,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命令,有什么想法吗?

lamensterms 发表于 2022-7-6 00:08:38

嘿伙计们,
 
下面的代码运行正常。
 
(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]
查看完整版本: 缩放例程以分解和s