乐筑天下

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

[编程交流] 零选择集的条件

[复制链接]

27

主题

72

帖子

45

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-5 23:33:37 | 显示全部楼层
谢谢Tharwat!现在工作正常。
但是为什么(/=txt nil)不起作用。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 23:35:39 | 显示全部楼层
 
它是
 
 
这意味着不等于零,所以它的值不是零
回复

使用道具 举报

27

主题

72

帖子

45

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-5 23:38:16 | 显示全部楼层
谢谢,现在很好。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 23:41:07 | 显示全部楼层
 
很高兴听到这个消息。不客气。
回复

使用道具 举报

27

主题

72

帖子

45

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-5 23:46:45 | 显示全部楼层
我在想,我们可以改变像颜色和LW这样的多段线的属性,而不是选择。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 23:47:25 | 显示全部楼层
是的,您可以通过迭代选择集中的每个实体,并通过将其添加/附加到DXF代码来更新任何想要的属性。
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 23:50:57 | 显示全部楼层
或者可以通过调用CHPROP命令对整个选择集执行相同的操作:
  1. (if (setq selSet (ssget))
  2. (command "_CHPROP" selSet "" "_C" 2 "")   ;change color to yellow
  3. )
回复

使用道具 举报

27

主题

72

帖子

45

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-5 23:53:34 | 显示全部楼层
谢谢MSasu,我知道,但在我下面的代码中,如果我想更改没有文本的多段线的颜色。
 
  1. (defun c:mtpl ( / app ent grp idx lst mni mxa out sel tmp txt )
  2.    (if (setq sel (ssget "_X" '((0 . "LWPOLYLINE") (-4 . "&=") (70 . 1))))
  3.        (progn
  4.            (repeat (setq idx (sslength sel))
  5.                (setq ent (ssname sel (setq idx (1- idx)))
  6.                      lst (cons (cons ent (mapcar 'cdr (vl-remove-if-not '(lambda ( x ) (= 10 (car x))) (entget ent)))) lst)
  7.                )
  8.            )
  9.            (setq tmp (apply 'append (mapcar 'cdr lst))
  10.                  mni (car tmp)
  11.                  mxa (car tmp)
  12.            )
  13.            (foreach pnt (cdr tmp)
  14.                (setq mni (mapcar 'min mni pnt)
  15.                      mxa (mapcar 'max mxa pnt)
  16.                )
  17.            )
  18.            (setq app (vlax-get-acad-object)
  19.                  out (ssadd)
  20.            )
  21.            (vla-zoomwindow app (vlax-3D-point mni) (vlax-3D-point mxa))
  22.            (foreach grp lst
  23.                (if (not (setq txt (ssget "_wp" (mapcar '(lambda ( p ) (trans p (car grp) 1)) (cdr grp)) '((0 . "TEXT,MTEXT"))))
  24.                        
  25.                    )
  26.                    (ssadd (car grp) out)
  27.                )
  28.               (setq txt nil)
  29.                (gc)
  30.            )
  31.            (sssetfirst nil out)
  32.        )
  33.    )
  34.    (princ)
  35. )
  36. (vl-load-com) (princ)
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 23:58:02 | 显示全部楼层
 
未来帖子的提示:当发布非您自己的代码时,通常需要指明原始作者/来源,否则发布的代码将被视为您自己的代码。请熟悉适用于本论坛发布的所有代码的代码发布指南。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 00:00:52 | 显示全部楼层
第三种方法是使用VL,为什么不使用GET&puts作为颜色和线型等
 
  1. (vla-put-color ent 0)
  2.   (vla-put-linetype ent "Bylayer")
  3.   (vla-put-lineweight ent aclnwtbyblock)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 03:28 , Processed in 0.371801 second(s), 70 queries .

© 2020-2025 乐筑天下

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