wzg356 发表于 2023-12-11 23:36:27

组码与特性值混写filters并模仿(ssget filters)操作模式及命令行提示

本帖最后由 wzg356 于 2023-12-14 17:17 编辑

这个是从选择工具http://bbs.mjtd.com/thread-183273-1-1.html整理提出来的

;组码与特性值混写过滤表filters并模仿(ssget filters)操作模式及命令行提示
;本代码的主要目的是实现类似(ssget filters)的命令行提示,即右键结束前也提示中间结果
;(ssgetplus nil nil)=(ssget)
;(ssgetplus nil '((0 . "*line")(color . 1)))=(ssget '((0 . "*line")(62 . 1)))
;(setq aa(Vlax-Get(Vlax-Ename->Vla-Object(Car(Entsel))) 'Area))
;(ssgetplus nil (list '(0 . "lwpolyline")(cons 'Area aa)))
;(ssgetplus nil (list '(ObjectName . "AcDbPolyline")(cons 'Area aa)));面积=aa的多线段
;(ssgetplus nil (list '(0 . "lwpolyline")(cons nil(cons 'Area aa))));面积不等于aa的多线段
;(ssgetplus "X" (list '(0 . "lwpolyline")(cons nil(cons 'Area aa))))
;(ssgetplus "X" '((0 . "lwpolyline")(length . 0.0))));0长度线
;(ssgetplus "X" '((0 . "*text")(TextString . ""))));空字符的文字


1某项特性过滤规则:首先得有该特性,然后再=or/=....
运算符书写规则
(or(member funstr '("=" "/=" ">" ">=" "<" "<="))
                (member funstr '(= /= > >= < <=))
                (setq funstr "/=")
      )


2组码规则用法继承Ssget格式
;顺便关键字支持"L" "X" "P" "A" "I"及":E"和":S"组合
;关键字"F""CP""WP"需点表支持,调用MYssget函数(主要不想改写MYssget了)
MYssget也在http://bbs.mjtd.com/thread-183273-1-1.html的增强函数





sncokina 发表于 2023-12-12 12:42:23

这个强,,感谢分享。。。

榨菜人生 发表于 2023-12-16 17:21:13

谢谢大佬分享!
页: [1]
查看完整版本: 组码与特性值混写filters并模仿(ssget filters)操作模式及命令行提示