乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: lamensterms

[编程交流] 缩放例程以分解和s

[复制链接]

1

主题

597

帖子

599

银币

初来乍到

Rank: 1

铜币
2
发表于 2022-7-5 23:44:17 | 显示全部楼层
好的,看。自从1967年高中毕业后,我就没有学过数学。
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 23:48:48 | 显示全部楼层
1967! 该死,那是很久以前的事了。
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 23:50:33 | 显示全部楼层
 
 
我对Autolisp不是特别熟练——也许这个线程有一些有用的信息。
http://www.cadtutor.net/forum/showthread.php?53140-选择尺寸并更改线性尺寸比例&高光=线性尺寸因子
回复

使用道具 举报

1

主题

597

帖子

599

银币

初来乍到

Rank: 1

铜币
2
发表于 2022-7-5 23:55:17 | 显示全部楼层
是的,它在回程机器领域。
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

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

使用道具 举报

5

主题

1074

帖子

1088

银币

初来乍到

Rank: 1

铜币
9
发表于 2022-7-6 00:03:13 | 显示全部楼层
这听起来可能是FILTER命令的好工作。
设置过滤器需要几分钟,所以考虑保存它们
为了便于将来使用,可以随时使用对话框中的“另存为”选项。
 
或者使用LAYISO会更容易,只需选择它们。
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
394
发表于 2022-7-6 00:06:25 | 显示全部楼层
嗨,Dadgad,
 
谢谢你的回复,我想我正在(缓慢)进步。
 
我得到以下代码:
 
  1. (defun c:nsc ( / )
  2. (setq ss1nsc (ssget))
  3. (if (setq ss2nsc (ssget "P" '((0 . "dimension"))))
  4.    (PROGN
  5.    (alert "Dims selected!")
  6.    (command "explode" ss2nsc)
  7.    (setq ss3nsc (ssget "P"))
  8.    )
  9. )
  10. (command "scale" ss1nsc ss3nsc "" pause (setq sfnsc (getreal)))
  11. )

 
这段代码有点可行,可以分解维度,但它只能从选择集中分解一个维度。关于如何将全尺寸选择集传递给EXPLODE命令,有什么想法吗?
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
394
发表于 2022-7-6 00:08:38 | 显示全部楼层
嘿伙计们,
 
下面的代码运行正常。
 
  1. (defun c:psc ( / I L SS1NSC SS2NSC SS3NSC )
  2. (setq ss1nsc (ssget))
  3. (if (setq ss2nsc (ssget "P" '((0 . "dimension"))))
  4.    (PROGN
  5.     (repeat (setq i (sslength ss2nsc))
  6.      (setq l (cons (ssname ss2nsc (setq i (1- i))) l))
  7.    (command "explode" ss2nsc)
  8.    (command "select" ss3nsc "P" "")
  9.    (setq ss3nsc (ssget "P"))
  10.     )
  11.    )
  12. )
  13. (command "scale" ss1nsc ss3nsc "" pause pause)
  14. )

 
我用过:
  1. (command "select" ss3nsc "P" "")
  2. (setq ss3nsc (ssget "P"))

 
将每个分解尺寸添加到选择集,并在每次重复时累积。
 
很高兴能得到一些反馈,找到一种更有效的方法来完成这项工作,但目前确实有效。
 
期待回音。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-11 03:13 , Processed in 0.526452 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表