yoyrtweq 发表于 2019-8-15 09:14:03

请教一下大哥们,CAD源码有些问题,高版本导致步骤增加

请教一下大哥们,这是我在明经社区找的一些代码,自己增加了一点东西,问题在于在 我在CAD2014中输入se 再q 点矩形框就能填充进去, 但在CAD2020中输入se 再q 点矩形框就多了一个未知的步骤,导致我需要空格2次才能填充进去,能否请教一下大神们,这是什么问题,能否帮我一下,谢谢了

(defun c:se (/ amode)
(initget 128"q a w s e d r f z x c v qq aa")
(setq amode (getkword
    "\n多层Q/木皮A/混凝W/实木S/理石E/玻璃D/布艺R/皮革F/海绵Z/藤编X/密度板C/金属V:")
)
(if (not amode)
    (setq amode "l")
)

(setq d "T")
(cond ((= amode "q")
          (progn            
             (while (= d "T")
                (setq pt (getpoint "请选择填充点:\r"))
                (vl-cmdf ".bhatch" "p" "cork" 40 0 Pt "y" "")
                (if (= nil pt)
                  (setq d "F")
                )
                (princ)
                )
          ))         
      ((= amode "a")
          (progn
             (while (= d "T")
                (setq pt (getpoint "请选择填充点:\r"))
                (vl-cmdf ".bhatch" "p" "Mupi" 350 0 Pt "y" "")
                (if (= nil pt)
                  (setq d "F")
                )
                (princ)
                )
          ))         
      ((= amode "w")
          (progn
             (while (= d "T")
                (setq pt (getpoint "请选择填充点:\r"))
                (vl-cmdf ".bhatch" "p" "Hunlingtu" 10 0 Pt "y" "")
                (if (= nil pt)
                  (setq d "F")
                )
                (princ)
                )
          ))
      ((= amode "s")
          (progn
             (while (= d "T")
                (setq pt (getpoint "请选择填充点:\r"))
                (vl-cmdf ".bhatch" "p" "Shimu" 50 0 Pt "y" "")
                (if (= nil pt)
                  (setq d "F")
                )
                (princ)
                )
          ))
      ((= amode "e")
          (progn
             (while (= d "T")
                (setq pt (getpoint "请选择填充点:\r"))
                (vl-cmdf ".bhatch" "p" "Dalishi" 1 0 Pt "y" "")
                (if (= nil pt)
                  (setq d "F")
                )
                (princ)
                )
          ))
      ((= amode "d")
          (progn
             (while (= d "T")
                (setq pt (getpoint "请选择填充点:\r"))
                (vl-cmdf ".bhatch" "p" "ar-rroof" 50 45 Pt "y" "")
                (if (= nil pt)
                  (setq d "F")
                )
                (princ)
                )
          ))
      ((= amode "r")
          (progn
             (while (= d "T")
                (setq pt (getpoint "请选择填充点:\r"))
                (vl-cmdf ".bhatch" "p" "cross" 200 0 Pt "y" "")
                (if (= nil pt)
                  (setq d "F")
                )
                (princ)
                )
          ))
      ((= amode "f")
          (progn
             (while (= d "T")
                (setq pt (getpoint "请选择填充点:\r"))
                (vl-cmdf ".bhatch" "p" "hound" 300 0 Pt "y" "")
                (if (= nil pt)
                  (setq d "F")
                )
                (princ)
                )
          ))
      ((= amode "z")
          (progn
             (while (= d "T")
                (setq pt (getpoint "请选择填充点:\r"))
                (vl-cmdf ".bhatch" "p" "honey" 40 0 Pt "y" "")
                (if (= nil pt)
                  (setq d "F")
                )
                (princ)
                )
          ))
      ((= amode "x")
          (progn
             (while (= d "T")
                (setq pt (getpoint "请选择填充点:\r"))
                (vl-cmdf ".bhatch" "p" "earth" 200 0 Pt "y" "")
                (if (= nil pt)
                  (setq d "F")
                )
                (princ)
                )
          ))      
         ((= amode "c")
          (progn
             (while (= d "T")
                (setq pt (getpoint "请选择填充点:\r"))
                (vl-cmdf ".bhatch" "p" "ar-sand" 5 0 Pt "y" "")
                (if (= nil pt)
                  (setq d "F")
                )
                (princ)
                )
          ))      
         ((= amode "v")
          (progn
             (while (= d "T")
                (setq pt (getpoint "请选择填充点:\r"))
                (vl-cmdf ".bhatch" "p" "ANSI36" 30 0 Pt "y" "")
                (if (= nil pt)
                  (setq d "F")
                )
                (princ)
                )
          ))
      ((= amode "qq")
          (progn
             (while (= d "T")
                (setq pt (getpoint "请选择填充点:\r"))
                (vl-cmdf ".bhatch" "p" "cork" 40 90 Pt "y" "")
                (if (= nil pt)
                  (setq d "F")
                )
                (princ)
                )
          ))      
      ((= amode "aa")
          (progn
             (while (= d "T")
                (setq pt (getpoint "请选择填充点:\r"))
                (vl-cmdf ".bhatch" "p" "Mupi" 350 90 Pt "y" "")
                (if (= nil pt)
                  (setq d "F")
                )
                (princ)
                )
          ))      
)
(princ)
)

烟盒迷唇 发表于 2019-8-16 15:46:53

你在CAD2020试下.bhatch填充步骤是咋样的,然后修改代码呀。

yoyrtweq 发表于 2019-8-20 20:33:05

烟盒迷唇 发表于 2019-8-16 15:46
你在CAD2020试下.bhatch填充步骤是咋样的,然后修改代码呀。

我不是很会做写代码,这个问题不知道怎么去找哦
页: [1]
查看完整版本: 请教一下大哥们,CAD源码有些问题,高版本导致步骤增加