kucha007 发表于 2025-3-20 15:40:18

【K:PatExists-P】判断填充图案是否存在

本帖最后由 kucha007 于 2025-3-20 22:52 编辑

两种判断填充图案是否存在的方法:

方法一:

(defun K:PatExists-P (PatNam / Old_HPNam result)
(setq Old_HPNam (getvar "HPNAME"))
(if (not (vl-catch-all-error-p (vl-catch-all-apply 'setvar (list "HPNAME" PatNam))))
      (and(setvar "HPNAME" Old_HPNam))
)
)



方法二:

(defun K:PatExists-P (PatNam / Flag TgtPat OpFile lin)
(setq Flag nil)
(if (findfile (strcat PatNam ".pat"))
      (setq Flag T)
      (progn
          (setq TgtPat
            (findfile
                (if (eq 1 (getvar 'measurement)) (getenv "ISOHatch")(getenv "ANSIHatch"))
            )
          )
          (progn
            (setq OpFile (open TgtPat "r"))
            (while
            (and
                (not Flag)
                (setq lin (read-line OpFile))
            )
            (setq Flag
                  (wcmatch (strcase (substr lin 2)) (strcat (strcase PatNam) "*"))
            )
            )
            (close OpFile)
          )
      )
)
Flag
)



用法:

(K:PatExists-P "Solid")
(K:PatExists-P "450X300X150混铺")





xiaocainiao 发表于 2025-3-20 16:06:41

学习了、第一种方法比较简单粗暴啊

kozmosovia 发表于 2025-3-20 19:58:15

不应叫hatchexist,准确点应该是patexist-p

kucha007 发表于 2025-3-20 21:45:01

kozmosovia 发表于 2025-3-20 19:58
不应叫hatchexist,准确点应该是patexist-p

有道理,很直观的改动
页: [1]
查看完整版本: 【K:PatExists-P】判断填充图案是否存在