乐筑天下

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

[编程交流] 选择所有具有

[复制链接]

171

主题

447

帖子

276

银币

中流砥柱

Rank: 25

铜币
860
发表于 2022-7-6 08:29:40 | 显示全部楼层 |阅读模式
请你帮我写一个lisp代码;立即选择选择窗口内具有相同名称(点)的所有块。
然后我需要改变那个块的比例因子。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:35:49 | 显示全部楼层

 
  1. (defun c:TesT (/ sc ss i sn)
  2. ;;; Tharwat 13. Dec. 2011 ;;;
  3. (if (and (setq sc (getdist "\n Specify Scale factor :"))
  4.           (setq ss (ssget "_:L" '((0 . "INSERT") (2 . "dot"))))
  5.      )
  6.    (progn (repeat (setq i (sslength ss))
  7.             (setq sn (ssname ss (setq i (1- i))))
  8.             (command "_.scale" sn "" (cdr (assoc 10 (entget sn))) sc)
  9.           )
  10.           (sssetfirst nil ss)
  11.    )
  12.    (princ)
  13. )
  14. (princ)
  15. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:38:54 | 显示全部楼层
q选择块,然后选择属性>比例
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:39:23 | 显示全部楼层
另外,通过修改DXF组码:
 
  1. (defun c:scaleblocks ( / ent inc sel )
  2.    (if
  3.        (and
  4.            (setq sel (ssget "_:L" '((0 . "INSERT") (2 . "dot"))))
  5.            (setq *scale*
  6.                (cond
  7.                    (   (getdist
  8.                            (strcat "\nSpecify Scale <"
  9.                                (rtos (setq *scale* (cond (*scale*) (1.0)))) ">: "
  10.                            )
  11.                        )
  12.                    )
  13.                    (   *scale*   )
  14.                )
  15.            )
  16.        )
  17.        (repeat (setq inc (sslength sel))
  18.            (setq ent (entget (ssname sel (setq inc (1- inc)))))
  19.            (foreach x '(41 42 43) (setq ent (subst (cons x *scale*) (assoc x ent) ent)))
  20.            (entmod ent)
  21.        )
  22.    )
  23.    (princ)
  24. )
回复

使用道具 举报

171

主题

447

帖子

276

银币

中流砥柱

Rank: 25

铜币
860
发表于 2022-7-6 08:45:18 | 显示全部楼层
谢谢。
两个文件都工作正常。但方式不同。
 
请您再编写一个代码来选择高度为100的单行文本并更改高度。如果你这样做,这对我的cad工作非常方便。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:46:08 | 显示全部楼层
再次:QSELECT>PROPERTIES
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 08:48:48 | 显示全部楼层
再次:QSELECT>PROPERTIES
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:54:27 | 显示全部楼层
 
大多数用户会忘记使用Lisp在Cad中附加的基本命令,尽管如此
我建议使用它们。
 
  1. (defun c:TesT (/ sc ss i sn)
  2. ;;; Tharwat 13. Dec. 2011 ;;;
  3. (if (and (setq sc (getdist "\n Specify new height :"))
  4.           (setq ss (ssget "_:L" '((0 . "TEXT,MTEXT") (40 . 100))))
  5.      )
  6.    (repeat (setq i (sslength ss))
  7.             (setq sn (ssname ss (setq i (1- i))))
  8.             (entmod (subst (cons 40 sc) (assoc 40 (entget sn))(entget sn)))
  9.    )
  10.    (princ)
  11. )
  12. (princ)
  13. )
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 08:58:10 | 显示全部楼层
因为人们不断发布错误的代码,而不仅仅是通知他们现有的命令。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 09:00:38 | 显示全部楼层
希望你不要谈论注释性文本。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 09:17 , Processed in 0.740965 second(s), 72 queries .

© 2020-2025 乐筑天下

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