- 积分
- 694
- 明经币
- 个
- 注册时间
- 2024-12-30
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 完美 于 2025-1-10 10:30 编辑
我使用下面代码进行一定范围内对象移动,但发现如果模型空间窗口范围没对着(0,0)(20,20)范围,导入lsp代码会提示“已成功加载 1.lsp。命令:未知命令“APPLOAD”。按 F1 查看帮助。”;
如果模型空间范围对着(0,0)(20,20)的一部分,则可见部分的对象会被移动,窗口范围外的没移动。
添加命令(print (sslength b))发现选择集数量与被移动的对象数量一致,是ssget只能选中窗口范围内的对象么,如果要实现选择窗口范围外某一范围对象,该怎么操作,或者有什么函数能实现类似功能?
另外,在使用ssget函数时我还发现选择集不会严格按照(0,0)(20,20)范围去选择,举个例子:如果窗口范围放大到(-1000,-1000)(1000,1000)范围,靠近(0,0)(20,20)范围但不在其中的部分对象也会被选中移动,是否有什么办法实现精确选择?
代码:
(setq b (ssget "_C" '(0 0) '(20 20)))
(command "move" b "" '(0 0) '(0 20))
关于我上面提到的第2点,补充几张图片,下面红色方框是设定的选择范围,长*宽为1.7*1,绿色线是用来测试实际选择范围的
把视口一直缩小到长为2000,而后运行ssget命令选择红色方框两个角点坐标范围
采用move命令高亮上一步选中的对象如下图:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
|