乐筑天下

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

[编程交流] co中的联机文本问题

[复制链接]

18

主题

99

帖子

91

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2022-7-5 18:15:16 | 显示全部楼层 |阅读模式
你好
我有一个可能很愚蠢的问题,但我到处都找不到答案。
当你有这行代码时
  1.   (princ "\nSelect block for attribute extraction : ")
  2. (setq bl (ssget ":S" '((0 . "INSERT")(66 . 1)(8 . "cssa"))))

它在命令栏中显示为“选择用于属性提取的块:”
然后acad在新行中写下“选择对象:”,那么有没有办法省略第二行,使其只显示我的文本?
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-5 18:26:34 | 显示全部楼层
不,这是(ssget)不能忽略的主要功能。。。或者,您可以尝试使用(entsel)函数和(if)的组合来检查过滤器(插入、属性、层-“cssa”)。。。
回复

使用道具 举报

18

主题

99

帖子

91

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2022-7-5 18:31:55 | 显示全部楼层
对唯一的问题是,广告的代码量
不过,谢谢你的回复
回复

使用道具 举报

55

主题

402

帖子

357

银币

后起之秀

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

铜币
274
发表于 2022-7-5 18:36:13 | 显示全部楼层
您可以使用Lee Mac的功能:-
  1. (DEFUN LM:SSGET (MSG PARAMS / SEL)
  2.    (PRINC MSG)
  3.    (SETVAR 'NOMUTT 1)
  4.    (SETQ SEL (VL-CATCH-ALL-APPLY 'SSGET PARAMS))
  5.    (SETVAR 'NOMUTT 0)
  6.    (IF        (NOT (VL-CATCH-ALL-ERROR-P SEL))
  7.      SEL
  8.    )
  9. )

 
示例:-
  1. (LM:SSGET [color="magenta"][b]"\nSelect block for attribute extraction : "[/b][/color] [color="lime"][b]'(":S" ((0 . "INSERT")(66 . 1)(8 . "cssa")))[/b][/color])
回复

使用道具 举报

18

主题

99

帖子

91

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2022-7-5 18:43:41 | 显示全部楼层
好吧,那太好了。。。谢谢你们和李。。。我从没想过要把它变成函数
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:48:28 | 显示全部楼层
不客气!
回复

使用道具 举报

18

主题

99

帖子

91

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2022-7-5 18:55:27 | 显示全部楼层
嗯,我用LM:SSGET做了一个Lisp程序的小口吃,但它不起作用,它只是贯穿其中,有什么想法吗?
  1. (defun c:incssabl()
  2.    (defun *error* (msg)
  3.    (princ msg)
  4. ) ;_ defun
  5. (setq inspt(getpoint"\nSelect insertation point : "))
  6. (setq station(cdr(assoc 1 (entget(ssname(lm:ssget "\nSelect STATION : "
  7.                  '("S:" '((0 . "TEXT,MTEXT"))))0)))))
  8. (setq height(cdr(assoc 1 (entget(ssname(lm:ssget "\nSelect HEIGHT on table : "
  9.                  '("S:" '((0 . "TEXT,MTEXT"))))0)))))
  10. (command "-insert" "cssabl" inspt "" "" station height)
  11. )
  12. (DEFUN lm:ssget (MSG PARAMS / SEL)
  13.    (PRINC MSG)
  14.    (SETVAR 'NOMUTT 1)
  15.    (SETQ SEL (VL-CATCH-ALL-APPLY 'SSGET PARAMS))
  16.    (SETVAR 'NOMUTT 0)
  17.    (IF        (NOT (VL-CATCH-ALL-ERROR-P SEL))
  18.      SEL
  19.    )
  20. )
回复

使用道具 举报

55

主题

402

帖子

357

银币

后起之秀

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

铜币
274
发表于 2022-7-5 19:02:16 | 显示全部楼层
 
从实体列表中删除并重试一次。。。
  1. (LM:SSGET "\nSelect STATION : " '(":E:S" ((0 . "TEXT,METXT"))))
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:05:47 | 显示全部楼层
 
除了上面Satish的回复之外,您的代码还有两个问题:
 
1.“S:”不是有效的ssget模式字符串,这应该是“:S”-您可以参考我的ssget函数参考以获取有效模式字符串的列表。
 
2.(“S:”((0。“TEXT,MTEXT”))由于第一个引号后面的表达式已标记为文字,因此在此列表中不需要第二个引号。
回复

使用道具 举报

18

主题

99

帖子

91

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2022-7-5 19:10:37 | 显示全部楼层
终于有时间看到这些答案并感谢大家。。。萨蒂什和李。。。S: 是我的打字错误,把它抄到了第二个呼叫ssget的地方,所以犯了两个错误
我也没有注意到复制/粘贴导致配额加倍的原因,但现在,当你指出这一点时,很明显,再次感谢你的帮助
p、 李关于非法物品的教程很棒。。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 20:32 , Processed in 0.405369 second(s), 72 queries .

© 2020-2025 乐筑天下

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