明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 973|回复: 18

[提问] 能不能直接在cad命令行输入命令执行

[复制链接]
发表于 2024-7-28 22:31:26 | 显示全部楼层 |阅读模式
比如我 要删除整个图像里面的  a1图层  a2图层  a3图层,包含这三个图层里所有的对象全部删除

只知道lisp这样可以删除
  • (defun  c:tt()
  •   (setq s (ssget "x" '((8 . "BoltMark,Bolt*"))))
  •   (command "erase"  s "")
  •   )

我现在想  有没有办法直接在 cad的命令行 输入什么可以删除指定的图层和里面的对象。
发表于 2024-7-29 11:45:07 | 显示全部楼层
命令:laydel
回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2024-7-29 12:43:59 | 显示全部楼层
kozmosovia 发表于 2024-7-29 00:03
'((8 . tc))要换成(list (cons 8 tc))
如果图层名是确定的,直接写死在代码里就可以,何必多此一举保存在 ...

        (setq tc (vl-registry-read "HKEY_CURRENT_USER\\Software\\a" "sctc"))
   (print tc)
        ;(setq s (ssget "x" '((8 . "BoltMark,Bolt*"))))
  (setq s (ssget "x" ((list (cons 8  tc))))
  (command "erase"  s "")
改成这样  加载插件就提示输入的列表有缺陷。
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2024-7-28 23:16:28 | 显示全部楼层
现在我用了这样一个命令(defun  c:cesctc()
        (setq tc (vl-registry-read "HKEY_CURRENT_USER\\Software\\a" "tc"))
   (print tc)
  (setq s (ssget "x" '((8 . tc))))
  (command "erase"  s "")
  )
执行命令之前先把要删除的图层放在注册表,再来执行命令,命令能正常取到注册表的内容,但是老是提示列表错误,我写了两个图层在注册表 是这样写的   0,bolt
cad里面能正常图区到这个内容,但是不会删除这两个图层,而是提示列表错误
发表于 2024-7-28 22:52:27 | 显示全部楼层
选取其中一个对象,右键选择类似对象,然后erase
或者selectsimilar+erase
 楼主| 发表于 2024-7-28 22:59:04 | 显示全部楼层
我是想直接在命令行输入
发表于 2024-7-28 23:05:37 来自手机 | 显示全部楼层
accoreconsole.exe
 楼主| 发表于 2024-7-28 23:13:26 | 显示全部楼层
accoreconsole.exe这个东西 第一次听说
发表于 2024-7-29 00:03:02 | 显示全部楼层
'((8 . tc))要换成(list (cons 8 tc))
如果图层名是确定的,直接写死在代码里就可以,何必多此一举保存在注册表再读一次?
 楼主| 发表于 2024-7-29 12:29:09 | 显示全部楼层
kozmosovia 发表于 2024-7-29 00:03
'((8 . tc))要换成(list (cons 8 tc))
如果图层名是确定的,直接写死在代码里就可以,何必多此一举保存在 ...

就是图层不固定
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 12:40 , Processed in 0.172117 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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