请教:在图层A上画宽度25的PL线如何实现?
如何才能在图层A上画PL线呢?PL线全局线宽25,如果图中有图层A就直接在A层上画线,如果没有图层A则生成图层A(红色,非虚线,设为不打印),画完PL线之后将下一次用CAD自带PL命令画线时的线宽变成1,也就是不希望使用程序之后画的多义线都是粗的,拜托各位编程高手了!"
本帖最后由 ZZXXQQ 于 2013-8-26 16:29 编辑(defun c:tt ()
(setvar "CMDECHO" 0)
(setq oldla (getvar "CLAYER"))
(if (not (tblsearch "LAYER" "A"))
(command "-LAYER" "M" "A" "C" 1 "" "P" "N" "" "")
(setvar "CLAYER" "A")
)
(if (setq pt (getpoint "\n第一点: ")) (progn
(command "_.PLINE" pt "W" 25 "")
(while (> (getvar "CMDACTIVE") 0) (command PAUSE))
))
(setvar "PLINEWID" 1)
(setvar "CLAYER" oldla)
(setvar "CMDECHO" 1)
(princ)
) ZZXXQQ 发表于 2013-5-25 21:18 static/image/common/back.gif
ZZXXQQ超级版主您好!谢谢您的回复,我刚试了一下,PL线末端宽度太大(我要全局宽度25),而且画的线并不是在A层,而是在当前层,麻烦帮我看一下 ZZXXQQ 发表于 2013-5-25 21:18 static/image/common/back.gif
可以用了,感激不尽!爱死这里了,解决问题的效率顶呱呱 代码在哪呢?
(defun c:tt ()
(setq la (getvar "CLAYER"))
(xyp-MkLaCo "A" 1)
(setvar "plinewid" 25)
(if (setq p1 (getpoint "\n第一点: "))
(progn
(command "PLINE" p1)
(while (setq p2 (getpoint p1 "\n基点<退出>: "))
(command p2)
(setq p1 p2)
)
(command "")
)
)
(setvar "CLAYER" la)
(princ)
)
本帖最后由 自贡黄明儒 于 2013-8-28 16:36 编辑
(defun c:w1 (/ LA P1 P2)
(setq la (getvar "CLAYER"))
(if (not (tblsearch "LAYER" "Defpoints"))
(command "_.LAYER" "M" "Defpoints" "C" 1 "" "P" "N" "" "")
(setvar "CLAYER" "Defpoints")
)
(setvar "plinewid" 25)
(if (setq p1 (getpoint "\n第一点: "))
(progn
(command "_.PLINE" p1)
(while (setq p2 (getpoint p1 "\n基点<退出>: "))
(command p2)
(setq p1 p2)
)
(command "")
)
)
(setvar "CLAYER" la)
(princ)
)
"A"层最好为Defpoints层,反正这层是不打印的 领教了,我是小白,如饥似渴找到这些入门知识!
页:
[1]