daidong013 发表于 2011-6-29 17:59:52

本帖最后由 daidong013 于 2011-6-29 18:01 编辑

回复 zhynt 的帖子

Z版大侠:画完洞口后能把PL线直接前置吗?~

如果要改填充图案式样要在那里改!~~
( 图案样式ANSI31---比例100---角度为0 )

daidong013 发表于 2011-6-29 19:58:03

等待中!~~出来顶一下!~~

zhynt 发表于 2011-6-29 22:08:47

(command "_.BHATCH" "s" dk_ss "" "p" "ANSI31" "100" "0" "")

daidong013 发表于 2011-6-30 05:46:53

回复 zhynt 的帖子

可以了!~~再次感谢,!

zhengchuan 发表于 2011-6-30 23:10:44

zhynt 大师,这个程序能不能改一下,就是指定两个对角点后,向里面偏移100~200,最好可以输入距离,然后再画洞口线啊

zhengchuan 发表于 2011-7-1 00:09:34

默认为100mm。

zhengchuan 发表于 2011-7-1 00:28:44

本帖最后由 zhengchuan 于 2011-7-1 00:40 编辑

.怎么图片传不上去啊

zhynt 发表于 2011-7-1 09:08:29


(defun err (s)
(if (and (/= s "console break")
           (/= s "Function cancelled")
           (/= s "quit/exit abort")
      )
    (progn (setvar "LUPREC" oldlup)
           (setvar "LUNITS" oldlun)
           (setvar "osmode" oldos)
           (setvar "cmdecho" oldcmd)
           (setvar "clayer" oldlay)
           (setq *error* olderr)
           (princ (strcat "\n程序出错或用户退出:" s))
    )
)
)
(defun bak ()
(command "_.undo" "be")
(setq        oldos        (getvar "osmode")
        oldcmd        (getvar "cmdecho")
        oldlun        (getvar "LUNITS")
        oldlup        (getvar "LUPREC")
        olderr        *error*
        *error*        err
        oldlay        (getvar "clayer")
)
)
(defun rebak ()
(setvar "osmode" oldos)
(setvar "cmdecho" oldcmd)
(setvar "clayer" oldlay)
(setvar "LUPREC" oldlup)
(setvar "LUNITS" oldlun)
(command "_.undo" "e")
)
(setq rea100.0
      real 20.0
)
(defun c:dk (/             dk_pt1       dk_pt2           dk_pt3    dk_pt4
             dk_kd   nk_pt1       nk_pt2           nk_pt3    nk_pt4
             olds      oldcmd       oldlup           oldlay    nk_n
             nk_kd   ptax       ptay           ptaz             ptbx
             ptby      ptbz       l_pt1_pt4 l_pt2_pt3 l_n
             ang_pt1_pt4
          )
(bak)
(setvar "cmdecho" 0)
(setvar "LUPREC" 8)
(setvar "LUNITS" 2)
(if (= (TBLOBJNAME "LAYER" "PUB_HATCH") nil)
    (command "layer" "m" "PUB_HATCH" "c" "8" "" "")
)
(if (= (TBLOBJNAME "LAYER" "PUB_DIM") nil)
    (command "layer" "m" "PUB_DIM" "c" "3" "" "")
)
(setq dk_pt1 (getpoint "\n指定第一角点:[退出]"))
(if (/= dk_pt1 nil)
    (progn
      (setq dk_pt3 (getcorner dk_pt1 "\n指定第二角点:[退出]"))
      (if (/= dk_pt3 nil)
        (progn
          (setq        dk_rea
               (getreal
                   (strcat "\n输入边框宽度:<"
                           (rtos rea 2 4)
                           ">:"
                   )
               )
          )
          (if (= dk_rea nil)
          (setq dk_rea rea)
          (setq rea dk_rea)
          )
          (setq        dk_real
               (getreal
                   (strcat "\n输入阴影拐角处宽度:<"
                           (rtos real 2 4)
                           ">:"
                   )
               )
          )
          (if (= dk_real nil)
          (setq dk_real real)
          (setq real dk_real)
          )
          (setq        dk_ptn (list (min (car dk_pt1) (car dk_pt3))
                             (min (cadr dk_pt1) (cadr dk_pt3))
                     )
                dk_pt3 (list (max (car dk_pt1) (car dk_pt3))
                             (max (cadr dk_pt1) (cadr dk_pt3))
                     )
                dk_pt1 dk_ptn
          )
          (if (< oldos 16384)
          (setvar "osmode" (+ oldos 16384))
          )
          (setvar "clayer" "pub_dim")
          (if (/= dk_rea 0)
          (progn
              (setq dk_pt1 (polar dk_pt1 (/ pi 4.0) (* dk_rea (sqrt 2)))
                  dk_pt3 (polar dk_pt3
                                  (* (/ pi 4.0) 5)
                                  (* dk_rea (sqrt 2))
                           )
              )
              (command "_.RECTANGLE" dk_pt1 dk_pt3)
          )
          )
          (setq        ptax (car dk_pt1)
                ptay (cadr dk_pt1)
                ptbx (car dk_pt3)
                ptby (cadr dk_pt3)
          )
          (setq        dk_pt2 (list ptax ptby)
                dk_pt4 (list ptbx ptay)
                dk_pt5 (polar dk_pt2 (/ (* pi 7.0) 4) (* dk_real (sqrt 2)))
          )
          (command "_.pline" dk_pt1 dk_pt2 dk_pt3 dk_pt5 "C")
          (setq dk_ss (entlast))
          (if (= (substr (getvar "acadver") 1 2) "18")
          (command "_.BHATCH"        "s" dk_ss "" "la" "pub_hatch" "p" "s" "")
          (progn
              (setvar "clayer" "pub_hatch")
              (command "_.BHATCH" "s" dk_ss "" "p" "s" "")
          )
          )
        )
      )
    )
)
(rebak)
(princ)
)

zhengchuan 发表于 2011-7-1 12:30:26

太感谢啦!解决我一个大问题啦。谢谢zhynt 大师,您真是个热心人,再次谢谢!

daidong013 发表于 2011-7-1 16:32:14

回复 zhynt 的帖子

Z版大侠看看能在这基础上改成这样吗?!~~

页: 1 [2] 3
查看完整版本: 【求洞口线的绘制】已解决!~~