明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2415|回复: 9

[已解答] 《菜鸟提问》 qselect命令是否可以用command命令调用?

[复制链接]
发表于 2014-8-27 10:41 | 显示全部楼层 |阅读模式
10明经币
《菜鸟提问》 qselect命令是否可以用command命令调用?
如果可以调用那他的参数怎么设置?

我用要快速选择天正的墙体 所以ssget命令貌似不能筛选
例如:我要选择图层wall上的150厚的墙体,命令怎么写
求大虾帮忙啊

最佳答案

查看完整内容

参见:http://bbs.mjtd.com/forum.php?mod=viewthread&tid=73386
发表于 2014-8-27 10:41 | 显示全部楼层
参见:http://bbs.mjtd.com/forum.php?mod=viewthread&tid=73386

  1. (defun C:TEST ()
  2.   (setq N 1)                                ;对象类型墙所在位置
  3.   (setq N1 2)                                ;墙总宽所在位置
  4.   (setq WI "200")                        ;墙厚
  5.   (vlax-invoke-method
  6.     (vlax-get (vlax-get-acad-object) 'ACTIVEDOCUMENT)
  7.     'SENDCOMMAND
  8.     (car (list "Qselect "
  9.                (vlax-invoke-method
  10.                  (vlax-get-or-create-object "WScript.Shell")
  11.                  'SENDKEYS
  12.                  "%b{DOWN 9}%p{DOWN 15}%v200{Enter}"
  13.                  ;;9是对象类型墙所在位置 15是墙总宽所在位置 200是墙厚,根据需修改
  14.                )
  15.          )
  16.     )
  17.   )
  18. )
回复

使用道具 举报

 楼主| 发表于 2014-8-27 13:37 | 显示全部楼层
没人会吗?还是根被不能用command的命令输入参数?
回复

使用道具 举报

 楼主| 发表于 2014-8-28 10:04 | 显示全部楼层
求大虾帮忙啊
回复

使用道具 举报

发表于 2014-8-28 10:41 | 显示全部楼层
本帖最后由 我的我啊 于 2014-8-28 10:45 编辑

(ssget'((0 . TCH_WALL)(41 . 75.0))))
回复

使用道具 举报

 楼主| 发表于 2014-8-28 11:54 | 显示全部楼层
我的我啊 发表于 2014-8-28 10:41
(ssget'((0 . TCH_WALL)(41 . 75.0))))

(41 . 75.0) 只是选择右宽厚度为75的墙体,而不是总厚为150mm的墙体。不过还是谢谢你的回答,希望可以找出别的办法
回复

使用道具 举报

 楼主| 发表于 2014-8-28 16:52 | 显示全部楼层
zjsru_18_505 发表于 2014-8-28 14:37
参见:http://bbs.mjtd.com/forum.php?mod=viewthread&tid=73386

谢谢 初步了解了一些,不过还需要深入学习,再次感谢
回复

使用道具 举报

 楼主| 发表于 2014-8-28 17:33 | 显示全部楼层
zjsru_18_505 发表于 2014-8-27 10:41
参见:http://bbs.mjtd.com/forum.php?mod=viewthread&tid=73386

大虾 求问 天正命令TPartSaveAs(局部导出)    是不是不通过这种方法设置呢?或者说怎么去实现呢?
谢谢大虾了,
回复

使用道具 举报

发表于 2014-8-29 10:54 | 显示全部楼层
HGHG011 发表于 2014-8-28 11:54
(41 . 75.0) 只是选择右宽厚度为75的墙体,而不是总厚为150mm的墙体。不过还是谢谢你的回答,希望可以找 ...


(command
"pselect"
(SJ:ssget<->list
  (mapcar 'vlax-vla-object->ename
          (vl-remove-if-not
           '(lambda (x) (= (vlax-get x 'TotalWidth) 200))
           (mapcar 'vlax-ename->vla-object
                   (SJ:ssget<->list (ssget '((0 . "TCH_WALL"))))
           )
          )
  )
)
""
)

200为墙厚
回复

使用道具 举报

发表于 2015-6-26 10:13 | 显示全部楼层
zjsru_18_505 发表于 2014-8-27 10:41
参见:http://bbs.mjtd.com/forum.php?mod=viewthread&tid=73386

真的很好思路,就是按键部分没执行求改进
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-17 20:26 , Processed in 0.266160 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表