找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 763|回复: 1

[每日一码] 用正则表达式获得一个填充文件(.PAT)中所有定义的填充模式名

[复制链接]

已领礼包: 20个

财富等级: 恭喜发财

发表于 2019-1-31 12:43:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
  1. (defun foo (fn)
  2.   (if (setq fn (findfile fn))
  3.     (progn (setq da (xd::list:fromfile fn)
  4.                  da (xdrx_string_join da "\r\n")
  5.            )
  6.            (xdrx_string_regexps "(?<=\\*).*(?=\\,)" da)
  7.     )
  8.   )
  9. )



命令: (foo "acad.pat")
("SOLID" "ANGLE" "ANSI31" "ANSI32" "ANSI33" "ANSI34" "ANSI35" "ANSI36" "ANSI37"
"ANSI38" "AR-B816" "AR-B816C" "AR-B88" "AR-BRELM" "AR-BRSTD" "AR-CONC"
"AR-HBONE" "AR-PARQ1" "AR-RROOF" "AR-RSHKE" "AR-SAND" "BOX" "BRASS" "BRICK"
"BRSTONE" "CLAY" "CORK" "CROSS" "DASH" "DOLMIT" "DOTS" "EARTH" "ESCHER" "FLEX"
"GOST_GLASS" "GOST_WOOD" "GOST_GROUND" "GRASS" "GRATE" "GRAVEL" "HEX" "HONEY"
"HOUND" "INSUL" "ACAD_ISO02W100" "ACAD_ISO03W100" "ACAD_ISO04W100"
"ACAD_ISO05W100" "ACAD_ISO06W100" "ACAD_ISO07W100" "ACAD_ISO08W100"
"ACAD_ISO09W100" "ACAD_ISO10W100" "ACAD_ISO11W100" "ACAD_ISO12W100"
"ACAD_ISO13W100" "ACAD_ISO14W100" "ACAD_ISO15W100" "LINE" "MUDST" "NET" "NET3"
"PLAST" "PLASTI" "SACNCR" "SQUARE" "STARS" "STEEL" "SWAMP" "TRANS" "TRIANG"
"ZIGZAG" "AR-CONC" "DOLMIT" "FLEX" "GRAVEL" "HEX" "HONEY")

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 20个

财富等级: 恭喜发财

 楼主| 发表于 2019-1-31 12:50:18 | 显示全部楼层
获取填充文件所有定义的填充模式名及描述

  1. (defun foo (fn)
  2.   (if (setq fn (findfile fn))
  3.     (progn (setq da (xd::list:fromfile fn)
  4.                  da (xdrx_string_join da "\r\n")
  5.            )
  6.            (mapcar '(lambda (x)
  7.                       (mapcar '(lambda (y) (xdrx_string_trimleft y))
  8.                               (xdrx_string_split x ",")
  9.                       )
  10.                     )
  11.                    (xdrx_string_regexps "(?<=\\*).*(?=\r\n)" da)
  12.            )
  13.     )
  14.   )
  15. )



命令: (foo "acad.pat")
(("SOLID" "实体填充") ("ANGLE" "角钢") ("ANSI31" "ANSI 铁、砖和石") ("ANSI32" "ANSI 钢")
("ANSI33" "ANSI 青铜、黄铜和紫铜") ("ANSI34" "ANSI 塑料和橡胶") ("ANSI35" "ANSI 耐火砖和耐火材质")
("ANSI36" "ANSI 大理石、板岩和玻璃") ("ANSI37" "ANSI 铅、锌、镁和声/热/电绝缘体") ("ANSI38" "ANSI
铝") ("AR-B816" "8x16 块砖顺砌") ("AR-B816C" "8x16 块砖顺砌,用灰泥接缝") ("AR-B88" "8x8
块砖顺砌") ("AR-BRELM" "标准砖块英式堆砌,用灰泥接缝") ("AR-BRSTD" "标准砖块顺砌") ("AR-CONC"
"随机的点和石头图案") ("AR-HBONE" "标准的砖块**字形图案 @ 45 度角") ("AR-PARQ1" "2x12 镶木地板: 12x12
的图案") ("AR-RROOF" "屋顶木瓦图案") ("AR-RSHKE" "屋顶实木瓦图案") ("AR-SAND" "随机的点图案") ("BOX"
"方钢") ("BRASS" "黄铜材质") ("BRICK" "砖石类型的表面") ("BRSTONE" "砖和石") ("CLAY" "粘土材质")
("CORK" "软木材质") ("CROSS" "一系列十字形") ("DASH" "划线") ("DOLMIT" "地壳岩层") ("DOTS"
"一系列点") ("EARTH" "地面") ("ESCHER" "Escher 图案") ("FLEX" "软性材质") ("GOST_GLASS"
"玻璃材质") ("GOST_WOOD" "木材材质") ("GOST_GROUND" "地面") ("GRASS" "草地") ("GRATE"
"格栅区域") ("GRAVEL" "沙砾图案") ("HEX" "六边形") ("HONEY" "蜂巢图案") ("HOUND" "犬牙交错图案")
("INSUL" "绝缘材质") ("5 = Distance between lines)") ("ACAD_ISO02W100" "划线")
("ACAD_ISO03W100" "划、空格线") ("ACAD_ISO04W100" "长划、点线") ("ACAD_ISO05W100"
"长划、双点线") ("ACAD_ISO06W100" "长划、三点线") ("ACAD_ISO07W100" "点线") ("ACAD_ISO08W100"
"长划、短划线") ("ACAD_ISO09W100" "长划、双短划线") ("ACAD_ISO10W100" "划、点线")
("ACAD_ISO11W100" "双划、点线") ("ACAD_ISO12W100" "划、双点线") ("ACAD_ISO13W100"
"双划、双点线") ("ACAD_ISO14W100" "划、三点线") ("ACAD_ISO15W100" "双划、三点线") ("LINE"
"平行水平线") ("MUDST" "泥沙") ("NET" "水平/垂直栅格") ("NET3" "网状图案 0-60-120") ("PLAST"
"塑料材质") ("PLASTI" "塑料材质") ("SACNCR" "混凝土") ("SQUARE" "对齐的小方块") ("STARS" "六芒星")
("STEEL" "钢材质") ("SWAMP" "沼泽地带") ("TRANS" "热传递材质") ("TRIANG" "等边三角形") ("ZIGZAG"
"楼梯效果") ("AR-CONC" "随机的点和石头图案") ("DOLMIT" "地壳岩层") ("FLEX" "软性材料") ("GRAVEL"
"沙砾图案") ("HEX" "六边形") ("HONEY" "蜂巢图案"))

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-14 02:48 , Processed in 0.352723 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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