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版大侠看看能在这基础上改成这样吗?!~~