AutoCAD120在道路桥梁绘图中使用技巧文档格式.docx
《AutoCAD120在道路桥梁绘图中使用技巧文档格式.docx》由会员分享,可在线阅读,更多相关《AutoCAD120在道路桥梁绘图中使用技巧文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
pex;
^P
用鼠标点取启动的系统菜单中所对应的项即可调用。
(2)命令方式调用。
a)加载pedit.lsp,将原程序考入ACAD12目录或ACAD12默认的子目录下,在 ACAD12命令行输入command:
(load"
peditx"
)回车
屏幕提示:
command:
C:
pex
b)command:
pex(回车)
c)scale〈1〉:
比例默认为1回车
d)width〈0.45〉:
输入线宽,宽度数值
e)layer/〈select〉:
选择物体的方式:
输入L时为层选择模式,屏幕提示pickaobjectonlayer:
拾取需要改变线宽的层上任意一点,整个层的线宽全部改变成需要的宽度。
默认的是:
selectobjects:
用鼠标选取物体,不过选取物体支持全部的选择方法如W、C等很方便选择完后回车完成该命令的执行。
在未关闭ACAD前需要再次使用时无需再加载peditx.lsp,直接执行PEX即可。
1.2附peditx.lsp原程序
;
turnline,circle,arc,donuttoplinewithwidth
(defun*error*(st)
(if(and(/=st"
Functioncancelled"
)
(/=st"
quit/exitabort"
)(princ(strcat"
Error:
"
st))
(setq*error*old_err)
(princ)
)
(defunin()
(if(=snil)(setqsl))
(setqscale(getreal(strcat"
\nScale〈"
(rtoss20)"
〉:
"
)))
(if(=scalenil)(setqscales))
(setqsscale)
(if(=wnil)(setqw0.45))
(setqwidth(getreal(strcat"
\nWidth〈"
(rtosw22)"
(if(=widthnil)(setqwidthw))
(setqwwidth)
(defunpross()
(setqlen(sslengthss))
(setqnl)
(while(<
=nlen)
(setqenl(ssnamess(1-n)))
(setqb(entgetenl))
(setqa(cdr(assocOb)))
(cond((or(="
LINE"
a)(="
ARC"
a))
(progn
(command"
pedit"
enl"
Y"
w"
width"
x"
))
((="
POLYLINE"
a)
CIRCLE"
(setqpt(cdr(assoc10b)))
(setqrad(cdr(assoc40b)))
(setqrl(-(*rad2)width))
(setqr2(+(*rad2)width))
donut"
rlr2pt"
(entdlenl)
))
(TT)
(setqn(1+n))
(defunC:
pex(/old_errscalessenlalennb
cmd_oldwidthradptrlr2kenla)
(setqold_err*error*)
(setqcmd_old(getvar"
cmdecho"
(setvar"
O)
(in)
(initget"
LS"
(setqk(getkword"
\nLayer/<
Select>
:
(if(=k"
L"
(setqen(car(entsel"
\nPickaobjectonlayer:
)))
(if(/=ennil)
(setqla(assoc8(entgeten)))
(setqss(ssget"
X"
(listla)))
(pross)
(if(or(=k"
S"
(=knil)
(setqss(ssadd))
(setqss(ssget))
(if(/=ssnil)(pross))
((setvar"
cmd_old)
)
2在AutoCAD环境下实现制表功能
使用AutoCAD绘制道路、桥梁图时,时常需要在工程图中加一些工程数量表格,而AutoCAD12环境下没有专门的制表工具,使制表的过程烦锁,而表格也不规整美观,为此根据制表习惯和一些特性编制了在AutoCAD环境中使用的制表LSP程序,供大家参考使用。
2.1程序的安装及使用
现将名为bg.lsp拷贝到ACAD12目录或ACAD12默认的子目录下,(如:
\acadwin\Support或C:
\acadwin等)。
用户可以将其加挂到AutoCAD系统菜单下,通过菜单调用,也可以用命令方式调用。
先找到菜单源文件acad.mnu并编辑它,在***POP1最后加入下面内容:
[zhibiao]:
^C^C^P(load“bg”);
bg;
在AutoCAD的command:
状态下,输入(Load"
bg"
)即将程序加载,然后,用bg,即可调用,绘制表格程序。
再依中文提示继续。
command:
bg回车以下数值为例题图单位mm
表格总行数:
8
表格总列数:
6
表格第一行距:
12
表格其它行距:
7
表格第1列距:
10
表格第2列距:
15
表格第3列距:
20
表格第4列距:
表格第5列距:
表格第6列距:
25
表格左上角点:
用鼠标在屏墓上点取放表格的位置确认
表格边框是否加粗:
不加粗:
NO/〈加粗:
YES〉:
选择Y时提示
表格边框线宽〈0.6〉:
1回车
表格即自动生成如图3,少加修改如图4
2.2附BG.LSP原程序
bg(/rowscolurows1rows21y1xiiiproptcolulcocoo
dxdydxxdyystrwithptp1ptp2ptp3ptp4os)
CMDECHO"
O)
(setqlay(getvar"
clayer"
))
(setqos(getvar"
OSMODE"
color"
bylayer"
layer"
m"
c"
y"
(initget7)
(setqrows(getint"
\n表格总行数:
(setqcolu(getint"
\n表格总列数:
(setqrows1(getreal"
\n表格第一行行距:
(setqrows2(getreal"
\n表格其它行行距:
(setqly(+rows1(*rows2(1-rows))))
(setqlx0)
(setqi1)
(repeatcolu)
(setqii(itoai))
(setqpropt(strcat"
表格第"
ii"
列列距:
(setqcolul9getrealpropt))
(setqlx(+lxcolul))
if(=1i)(setqco(listcolul))
(progn
(setqcoo(listcolul))
(setqco(appendcocoo))
(setqi(1+i))
(setqptl(getpoint"
\n表格左上角点:
(setqptplptl)
(setqdy(cadrptl))
(setqdx(carptl))
(setqdxx(+dxlx))
(setqpt2(listdxxdy))
line"
pt1pt2"
(setqdy(-dyrowsl))
(setqpt1(listdxdy))
(repeat(1-rows)
(setqdy(-dyrows2))
pt1pt2"
)
(setqdyy(+dyly))
(setqpt2(listdxdyy))
(setqi0)
(setqc(nthico))
(setqdx(+dxc))
(setqi(1+i)
YesNo"
(setqstr(getkword"
\n表格边框是否加粗:
No/<
加粗:
Yes>
(if(or(=strnil)(=strcasestr)"
YES"
(initget6)
(setqwith(getreal"
\n表格边框线宽<
0.6>
(if(=withnil)(setqwith0.6))
(setqdy(cadrptp1))
(setqdx(carptp1))
(setqptp2(listdxxdy))
(setqdyy(-dyly))
(setqptp3(listdxxdyy))
(setqptp4(listdxdyy))
PLINE"
ptp1"
withwithptp2ptp3ptp4"
os)
s"
lay"
(princ)(princ)
3在AutoCAD环境下实现统一字体、线型、字高修怍CHTEXT.LSP应用
使用AutoCAD绘制道路、桥梁图时,在完成绘制出图前,为使图面匀称、比例得当、美观需要对图中字型、字高进行统一的修改,而AutoCAD12环境下没有专门的命令,使用change修收的范围有限,运用起来较繁琐,能否一次修改到位是我们所期望的。
事实上ACAD12.0已经为我们准备了一个Chtext.lsp程序它在acadwin\support\目录下。
程序的安装及使用:
用户可以将其加挂到AutoCAD系统菜单下,通过菜单调用,也可以用命令方式调用。
1)将程序调用加到菜单上。
先找到菜单源文件acad.mnu(在c:
\acadwin\support目录下)并编辑它。
在***POP1最后加下面内容:
[CHTEXT]:
^C^C^P(load"
chtext"
);
cht;
2)命令方式调用。
在AutoCAD的command:
)即将程序加载,然后,用cht即可调用,再依提示继续。
command:
cht回车
selecttexttochange.
支持用W、C等方式选择需要改变的字体或数字
venifyingtheselectedentities--pleaeswait
xxxtextebtitiesfound
Height/justification/Rotation/Style/Ttext/Undo/Width:
高度/对齐方式/旋转/字型/文本/取消/宽度:
命令交互过程不在此详列,对齐方式、文本等与CAD中TEST命令相似。
4各种命令提示符下直接进行除“/”的运算或使用lisp算术表达式
(1)在命令提示符下直接进行除“/”的运算。
例如:
相对一已知点A向另一点B以纵向比例1∶75横向比例1∶150画线,X方向长1500m,Y方向长1200mm。
Command:
line回车
Frompoint:
(移动鼠标,定位、捕捉选取A点)
Topoint:
@1500/75,1200/150回车
以上操作便按要求画出了AB线段。
这其中我们进行了1500/75和1200/150的运算,完成了纵向1∶75横向1∶150的比例换算。
这一点实在是太方便了,省去了用计算器换算比例的麻烦,而比例换算在绘图中又常见,因而大大提高了绘图效率。
(2)对于熟悉Autolisp语言的人可直接使用Autodilp算术表达式,这一点在许多参考书上均有介绍,不详述。
5自编ACAD应用程序的自动加载
当进入AutoCAD时,系统会自动装入ACAD.LSP文件,并且会自动执行定义于ACAD.LSP文件中的S:
STARTUP函数,这样我们在S:
STARTUP函数中定义装载自编的ACAD应用程序的语句,便可实现自编ACAD应用程序的自动加载。
例如:
有前面介绍peditx.lap、bg.lap、chtext.lsp文件需自动加载,在ACAD.LSP中如下定义S:
STARTUP函数,下面是加载chtext.lsp的示例:
(defunS:
STARTUP()
(load"
load未指明装入路径,只需把加载程序放入ACAD的任一默认路径下,均可实现自动加载。
6捕捉功能的合理运用、定制鼠标菜单
AutoCAD中设置了10项捕捉功能,熟练掌握和灵活运用捕捉功能对于提高绘图精度和绘图速度是大有裨益的,在绘图开始我们常常先设定“端点”或“交点”等捕捉功能,而绘图过程中有时某一步必须取消捕捉功能。
这时用户一般是要点取下拉菜单Settings(设置)中的“ObjectSnap...”(物体捕捉...)项,继而4分点、垂足捕捉,这样在需要捕捉别的功能时又要再重新设置。
频繁的取消又设置,设置又取消,费时费力,不宜使用,
(1)对于使用2键鼠标的用户可按下SHIFT+鼠标右键,弹出光标菜单选择所需“捕捉方式即可”
(2)鼠标菜单的定制
打开acadwin\support\目录下acad.mnu用edit等命令进行编辑在***POP0下加入你需要加入的内容。
附注:
以上内容是依据ACAD12.0FORWINDOWS版本,斜体字是计算机屏幕提示,小字是原程序;
使用DOS10、12版本的用户,以上LSP程序通用,仅鼠标菜单配置不一致。
参考文献
1吕风翥.AutoCAD基础教程.北京:
清华大学出版社,1997
2林龙震.AUTOCAD12.0使用手册.北京:
学苑出版社,1993