乐筑天下

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

[编程交流] 排除没有

[复制链接]

76

主题

312

帖子

254

银币

后起之秀

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

铜币
390
发表于 2022-7-5 16:42:25 | 显示全部楼层 |阅读模式
大家好,
 
我得到了一段代码:
 
  1. (defun c:HBKLICMelding ( / doc obj lay len col newlayer lst meldingnr meldingsoort meldingnrlist meldingsoortlist )
  2. (setq doc (vla-get-activedocument (vlax-get-acad-object)))
  3. (if (= 8 (logand 8 (getvar 'undoctl)))
  4.         (vla-endundomark doc)
  5. )
  6.    
  7. (vla-startundomark doc)
  8. (setq meldingnrlist '())
  9. (setq meldingsoortlist '())
  10. (setvar "CMDECHO" 0)
  11.         (vlax-for obj (vla-get-layers doc)
  12.         (setq lay (vla-get-name obj))
  13.                 (if (wcmatch (strcase lay) "B-OI-KL-*")[color="red"]<THIS IS THE PART[/color]
  14.                         (progn
  15.                                 (setq meldingnr (strcat (substr lay (-(strlen lay) 10) 9 )))
  16.                                         (if(=(member meldingnr meldingnrlist) nil)
  17.                                                 (progn
  18.                                                         (setq meldingnrlist (cons meldingnr meldingnrlist))
  19.                                                         (setq meldingsoort (strcat (substr lay (-(strlen lay)  1 )))
  20.                                                         (if(= meldingsoort "O")
  21.                                                                 (progn
  22.                                                                 (setq meldingsoort "Oriëntatieverzoek")
  23.                                                                 )
  24.                                                                 (progn
  25.                                                                 (setq meldingsoort "Graafmelding")
  26.                                                                 )
  27.                                                         )
  28.                                                         (setq meldingsoortlist (cons meldingsoort meldingsoortlist))
  29.                                                 )
  30.                                         )
  31.                                 (if (= (vla-get-Color obj) 2)
  32.                                         (vla-put-Color obj 40)
  33.                                         )
  34.                                 (if (= (vla-get-Color obj) 50)
  35.                                         (vla-put-Color obj 40)
  36.                                         )
  37.                                 (vlax-put-property obj 'LineWeight acLnWt025)
  38.                                 (setq col (vla-get-truecolor obj))
  39.                                 (if (= accolormethodbyaci (vla-get-colormethod col))
  40.                                         (progn
  41.                                                 (setq lst (mapcar 'vlax-get-property (list col col col) '(red green blue)))
  42.                                                 (vla-put-colormethod col accolormethodbyrgb)
  43.                                                 (apply 'vla-setrgb (cons col lst))
  44.                                                 (vla-put-truecolor obj col)
  45.                                         )  
  46.                                 )
  47.                                 (setq len (strlen lay))
  48.                                 (setq newlayer (strcat (substr lay 1 1) "00" (substr lay 2 (- len 29)) (substr lay (1- len))))
  49.                                 (if (tblsearch "LAYER" newlayer)
  50.                                         (progn
  51.                                                 (command "-LAYMRG" "Name" lay "" "Name" newlayer "Yes")
  52.                                         )
  53.                                         (progn
  54.                                                 (vl-catch-all-apply 'vla-put-name (list obj (strcat (substr lay 1 1) "00" (substr lay 2 (- len 29)) (substr lay (1- len)))))
  55.                                         )
  56.                                 )
  57.                         )
  58.                 )
  59.         )
  60. (HBLL meldingnrlist meldingsoortlist)
  61. (setvar "CMDECHO" 1)
  62. (vla-endundomark doc)
  63. (princ "\nKLIC-melding gereed.")
  64. (princ)
  65. )

 
换句话说:
[code](如果(和(wcmatch(strcase lay)“B-OI-KL-*”)(ssget“_X”(list(cons 8 lay)))
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 18:29:37 | 显示全部楼层
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-23 13:25 , Processed in 3.434258 second(s), 57 queries .

© 2020-2025 乐筑天下

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