;;vlisp 3.0
;;BY Amtonny
;;2009.04.02
(defun C:ll ()
(setq olderr *error*
*error* BZERR
)
(princ "\n******画虚线******")
(while t
(setvar "cmdecho" 0)
(setq pa (getpoint "\n 请指定虚线第一点:"))
(setq pb (getpoint pa"\n 请指定下一点:"))
(setq hh (distance pa pb))
(command "LINE" pa pb"")
(if (<= hh 0.7000000 )
(command "change" (entlast) "" "p" "color" "252" "ltype" "DASHED2" "S" "0.5" ""))
(if (> hh 0.70000001 )
(command "change" (entlast) "" "p" "color" "252" "ltype" "DASHED2" "S" "0.7" ""))
(if (> hh 1.20000001 )
(command "change" (entlast) "" "p" "color" "252" "ltype" "DASHED2" "S" "1" ""))
(if (> hh 2.000001 )
(command "change" (entlast) "" "p" "color" "252" "ltype" "DASHED2" "S" "2" ""))
(if (> hh 5.00001 )
(command "change" (entlast) "" "p" "color" "252" "ltype" "DASHED2" "S" "5" ""))
(if (> hh 30.0000 )
(command "change" (entlast) "" "p" "color" "252" "ltype" "DASHED2" "S" "10" ""))
(if (> hh 50.000001 )
(command "change" (entlast) "" "p" "color" "252" "ltype" "DASHED2" "S" "15" ""))
(if (> hh 90.000001 )
(command "change" (entlast) "" "p" "color" "252" "ltype" "DASHED2" "S" "20" ""))
(princ "\n")
)
(setq *error* olderr)
(princ)
)
L。小妖。 发表于 2012-6-3 22:18
根据自己需要来分段的话,那我懂了~你说的很明白,谢谢你哦!!
都是这样过来的。加油吧网友答: hh是所画的线长网友答: 很基础的东西。建议看看明经LSP教程就明白了。网友答:
ZZXXQQ 发表于 2012-6-2 09:52
hh是所画的线长
是线长。但是<= hh 0.7000000 是什么意思呢,
为什么要按下面这样分类呢?这样分类就能把任何实线改成虚线么?(if (<= hh 0.7000000 )
(if (> hh 0.70000001 )
(if (> hh 1.20000001 )
(if (> hh 2.000001 )
(if (> hh 5.00001 )
(if (> hh 30.0000 )
(if (> hh 50.000001 )
(if (> hh 90.000001 )网友答:
wowan1314 发表于 2012-6-2 10:50
很基础的东西。建议看看明经LSP教程就明白了。
哦。就是不太明白为何如此分类,怎么就能把任何实线都改成虚线了(if (<= hh 0.7000000 )
(if (> hh 0.70000001 )
(if (> hh 1.20000001 )
(if (> hh 2.000001 )
(if (> hh 5.00001 )
(if (> hh 30.0000 )
(if (> hh 50.000001 )
(if (> hh 90.000001 ) 网友答: 程序就是改的虚线呀。网友答: 你这个是根据长的度长自动给设定虚线比列的!网友答: 没看懂,再研究研究,支持!网友答:
功夫佬 发表于 2012-6-3 17:23
你这个是根据长的度长自动给设定虚线比列的!
什么是“长的度长”和“虚线比列”啊~网友答:
ZZXXQQ 发表于 2012-6-3 16:50
程序就是改的虚线呀。
就是为什么能改了。。