CAD道路工程中缓和曲线的画法
CAD中的曲线绘制技巧与实用案例
CAD中的曲线绘制技巧与实用案例在使用CAD软件进行设计和制图时,曲线的绘制是一个非常重要的技巧。
曲线的绘制不仅仅可以提升设计师的创作能力,还可以使设计图更加精确和美观。
本文将介绍一些CAD软件中的曲线绘制技巧,并结合实用案例进行说明。
一、曲线绘制技巧1. 使用贝塞尔曲线工具贝塞尔曲线是一种非常常用的曲线绘制工具,能够方便地绘制出复杂的曲线形状。
在CAD软件中,我们可以使用贝塞尔曲线工具来绘制平滑的曲线。
具体操作步骤如下:- 选择贝塞尔曲线工具;- 点击鼠标选择起始点,并按住鼠标左键进行拖动,控制曲线的弯曲程度;- 松开鼠标左键,完成曲线绘制。
2. 使用控制点调整曲线形状在绘制曲线时,我们可能需要对曲线的形状进行微调,以使其更符合设计要求。
在CAD软件中,我们可以使用控制点来调整曲线的形状。
具体操作步骤如下:- 选择曲线;- 在曲线上选择一个控制点,然后按住鼠标左键进行拖动;- 调整控制点的位置和数量,以获得所需的曲线形状。
3. 使用参数方程绘制曲线在CAD软件中,我们还可以使用参数方程来绘制曲线。
参数方程可以使曲线的形状更加灵活和准确。
具体操作步骤如下:- 打开绘图窗口,选择曲线工具;- 在曲线工具的设置中,选择参数方程绘图模式;- 输入参数方程表达式,可以根据需要调整参数来控制曲线的形状。
二、曲线绘制实用案例1. 绘制二维曲线假设我们需要设计一个产品的外观图,其中包含一条曲线作为装饰线条。
我们可以使用贝塞尔曲线工具来绘制出所需的曲线形状,然后通过调整控制点,使曲线更加符合设计要求。
最后,我们可以将曲线导出为文件,用于后续的制图工作。
2. 绘制三维曲线假设我们需要设计一个建筑模型,其中包含一个弧形墙面作为特殊设计元素。
我们可以使用参数方程绘制出所需的曲线形状,调整参数来控制曲线的形状和大小。
然后,我们可以将曲线应用于建筑模型,使其更具立体感和艺术性。
3. 制作曲线切割模具在工业设计中,曲线切割模具是一种常见的工具。
在AutoCAD中绘制缓和曲线圆曲线的方法
在AutoCAD中绘制缓和曲线圆曲线的方法摘要:根据AutoCAD提供的宏,通过Microsoft Visual Basic编写辅助程序绘制曲线。
关键词:缓和曲线圆曲线绘制说明:基本线形曲线主要分为圆曲线和缓和曲线。
圆曲线是具有一定曲率半径的圆弧;缓和曲线是连接直线与圆曲线的过渡曲线,其曲率半径由无穷大渐变为圆曲线半径。
由于经常需要精准的绘出线路的圆曲线和缓和曲线,以便准确的计算出线路中心至地面上某点的距离,通过学习和研究运用AutoCAD集成的Visual Basic编写出一个绘制曲线的辅助程序,供大家学习参考。
基础:AutoCAD辅助程序hzqx是通过辛普森公式编写,该公式则是利用区间二等分的三个点来进行积分插值。
需提供已知数据(起点坐标、方位角、长度、间距、起止点半径),方法近似于大家所称的线元法。
准备:已知数据(曲线要素)交点坐标:X=3373351.385、Y=458628.379交点桩号:JDK=9557.84曲线半径:R=2040曲线转角:az=-14°18ˊ10″缓和曲线:ls1=260、ls2=280计算方位角:F=152°09ˊ41.68″hzqx.dvb辅助程序(下载地址附后)例子:绘制第一段缓和曲线ls=260。
辅助:通过“曲线坐标计算程序V1.10.30"求出第一切线长T1=387计算得出直缓桩号ZH=9170.84通过公式:ZHX=JDX-T1*Cos(F)、ZHY=JDY-T1*Sin(F)求得直缓坐标:ZHX=3373693.597、ZHY=458447.6578输入示例:起点坐标:458447.6578,3373693.597(数学坐标与测量坐标相反)、起点方位角:152d09'41.68"(格式d'")、起点半径:0(属于直线接缓和曲线半径无穷大)、止点半径:-2040(缓和曲线接圆曲线方向为左转)、长度:260、间距:1步骤:1、打开AutoCAD在命令行输入:appload回车键。
CAD里面如何绘制缓和曲线
CAD里面如何绘制缓和曲线
缓和曲线是曲线的一种,我们在CAD中无法直接绘制,没有工具和命令,所以需要下载一个工具。
那么大家知道CAD里面如何绘制缓和曲线吗?下面是小编整理的CAD里面如何绘制缓和曲线的方法,希望能帮到大家!
CAD里面绘制缓和曲线的方法下载一个缓和曲线.LSP工具。
解压下载好的压缩文件,复制解压好的缓和曲线.LSP。
把它拷贝到你的CAD安装包中的support文件中。
加载程序
打开cad,输入加载命令ap。
进入程序加载框,找到CAD安装的位置和support文件夹。
找到缓和曲线.LSP工具,选中它,点击加载。
然后再点击关闭。
绘制曲线
程序加载完成后,就可以绘制缓和曲线了。
根据提供的信息,作出曲线的两条切线。
输入绘制缓和曲线的命令hh,回车。
选择第一条直线,点击第一条切线上任意即可。
选中第二条直线,点击第二条切线任意一点即可。
根据提供的曲线要素,输入曲线的半径,例如本次输入为半径500,回车。
根据提供的曲线要素,输入缓和曲线的长度,例如本次输入的长
度为20,回车。
完成以上步骤后,系统进入自动绘图,稍等片刻,完成绘图。
曲线要素标注
指定曲线要素标注文字的位置。
调整字体的大小,细化它的位置,完成绘制。
在CAD中画缓和曲线过程之欧阳治创编
CAD中画出切线长一、在三、运行程序:在命令行中输入hh回车四、选择两条切线,然后输入曲线半径如:2204.5回车五、输入缓和曲线长,如270,绘图完成!如图AOTOCAD基本命令集ADC,*ADCENTER(设计中心“Ctrl+2”)CH,MO*PROPERTIES(修改特性“Ctrl+1”)MA,*MATCHPROP (属性匹配)ST,*STYLE(文字样式)COL,*COLOR(设置颜色)LA,*LAYER(图层操作)LT,*LINETYPE(线形)LTS,*LTSCALE(线形比例)LW,*LWEIGHT(线宽)UN,*UNITS(图形单位)ATT,*ATTDEF(属性定义)ATE,*ATTEDIT(编辑属性)BO,*BOUNDARY(边界创建,包括创建闭合多段线和面域)AL,*ALIGN(对齐)EXIT,*QUIT(退出)EXP,*EXPORT(输出其它格式文件)IMP,*IMPORT(输入文件)OP,PR*OPTIONS(自定义CAD设置)PRINT,*PLOT (打印)PU,*PURGE(清除垃圾)R,*REDRAW(重新生成)REN,*RENAME(重命名)SN,*SNAP(捕捉栅格)DS,*DSETTINGS(设置极轴追踪)OS,*OSNAP(设置捕捉模式)PRE,*PREVIEW(打印预览)TO,*TOOLBAR(工具栏)V,*VIEW(命名视图)AA,*AREA(面积)DI,*DIST(距离)LI,*LIST(显示图形数据信息)2、绘图命令:PO,*POINT(点)L,*LINE(直线)XL,*XLINE(射线)PL,*PLINE(多段线)ML,*MLINE(多线)SPL,*SPLINE (样条曲线)POL,*POLYGON(正多边形)REC,*RECTANGLE(矩形)C,*CIRCLE(圆)A,*ARC(圆弧)DO,*DONUT(圆环)EL,*ELLIPSE(椭圆)REG,*REGION(面域)MT,*MTEXT(多行文本)T,*MTEXT(多行文本)B,*BLOCK(块定义)I,*INSERT (插入块)W,*WBLOCK(定义块文件)DIV,*DIVIDE(等分)H,*BHATCH(填充)3、修改命令:CO,*COPY(复制)MI,*MIRROR(镜像)AR,*ARRAY(阵列)O,*OFFSET (偏移)RO,*ROTATE(旋转)M,*MOVE(移动)E,DEL 键*ERASE(删除)X,*EXPLODE(分解)TR,*TRIM(修剪)EX,*EXTEND(延伸)S,*STRETCH(拉伸)LEN,*LENGTHEN(直线拉长)SC,*SCALE(比例缩放)BR,*BREAK(打断)CHA,*CHAMFER(倒角)F,*FILLET (倒圆角)PE,*PEDIT(多段线编辑)ED,*DDEDIT(修改文本)4、视窗缩放:P,*PAN(平移)Z+空格+空格,*实时缩放Z,*局部放大Z+P,*返回上一视图Z+E,*显示全图5、尺寸标注:DLI,*DIMLINEAR(直线标注)DAL,*DIMALIGNED (对齐标注)DRA,*DIMRADIUS(半径标注)DDI,*DIMDIAMETER(直径标注)DAN,*DIMANGULAR(角度标注)DCE,*DIMCENTER(中心标注)DOR,*DIMORDINATE (点标注)TOL,*TOLERANCE(标注形位公差)LE,*QLEADER(快速引出标注)DBA,*DIMBASELINE(基线标注)DCO,*DIMCONTINUE(连续标注)D,*DIMSTYLE(标注样式)DED,*DIMEDIT(编辑标注)DOV,*DIMOVERRIDE(替换标注系统变量)(二)常用CTRL快捷键【CTRL】+1*PROPERTIES(修改特性)【CTRL】+2*ADCENTER(设计中心)【CTRL】+O*OPEN(打开文件)【CTRL】+N、M*NEW (新建文件)【CTRL】+P*PRINT(打印文件)【CTRL】+S*SAVE(保存文件)【CTRL】+Z*UNDO(放弃)【CTRL】+X*CUTCLIP(剪切)【CTRL】+C*COPYCLIP(复制)【CTRL】+V*PASTECLIP(粘贴)【CTRL】+B*SNAP(栅格捕捉)【CTRL】+F*OSNAP(对象捕捉)【CTRL】+G*GRID (栅格)【CTRL】+L*ORTHO(正交)【CTRL】+W*(对象追踪)【CTRL】+U*(极轴)(三)常用功能键【F1】*HELP(帮助)【F2】*(文本窗口)【F3】*OSNAP(对象捕捉)【F7】*GRIP(栅格)【F8】*ORTHO(正交)第17章布图、打印与图纸管理绘制好的建筑图样需要打印出来进行报批、存档、交流、指导施工,所以绘图的最后一步是打印图形。
cad画缓和曲线方法
在AutoCAD中缓和曲线的几种画法2011-06-25 20:32在AutoCAD中画缓和曲线比较困难,目前常用的画法有AutoLISP程序法(需要已知曲线要素)、坐标脚本法(需事先计算好各特征点及其他点为的坐标)、曲线命令法(需事先准备各特征点坐标),现分别介绍如下:画法一:缓和曲线AutoLISP 应用程序一、制作缓和曲线AutoLISP 应用程序复制AutoLISP程序源代码,打开“记事本”,粘贴进去后,另存为文件名“缓和曲线.LSP”,保存类型为“所有文件”(AutoLISP程序源代码见附件)二、加载缓和曲线AutoLISP应用程序在命令行输入“appload”打开自动加载对话框。
在对话框的“查找范围”里找到“缓和曲线.LSP”的那个程序,选中后,点击【加载】,显示“已成功加载缓和曲线.LSP”后,关闭对话框,ok你那个程序自动启动加载了。
三、在CAD中画出切线长四、运行程序在命令行中输入hh回车五、选择两条切线,然后输入曲线半径如:2204.5回车六、输入缓和曲线长,如270,绘图完成!画法二:坐标脚本法1.现做一个CAD脚本,会的人跳过(用Windows 文本另存为“.scr”文件)2.脚本编辑输入“SPLINE+空格键+Y坐标+,+X坐标+空格键+Y坐标+,+X坐标……” 以此类推!点输的越密,线条越平滑。
也可以用EXCEL算出各个点的坐标后粘贴进去,然后按照“SPLINE+空格键+Y坐标+,+X坐标+空格键+Y坐标+,+X坐标……”格式编辑。
3.进入CAD,运行脚本,就行了!注意:你可能输入了100个点,而出现的确只有几个点,这个很正常,你把图像删除了,多运行几次就行,一般不超过4次。
画法三:使用真样条曲线命令举例如下:输入导线:pline命令绘制1、2、3各点,其对应坐标如下x1=213.7748 y1=92.1117x2=313.7748 y2=92.1117x3=399.6787 y3=143.3026绘制通过ZH、HZ、QZ、HY和YH各点的与路线导线相切的含缓和曲线的平曲线。
CAD软件中的曲线绘制技巧与方法
CAD软件中的曲线绘制技巧与方法CAD(计算机辅助设计)软件是一种广泛应用于建筑、工程和制造等领域的工具。
在CAD软件中,曲线的绘制是非常重要的一项技巧。
本文将介绍一些CAD软件中的曲线绘制技巧与方法,帮助读者更好地运用CAD软件进行设计工作。
第一种方法是使用贝塞尔曲线。
贝塞尔曲线是一种由多个控制点控制的平滑曲线。
在CAD软件中,可以通过选择控制点的位置和数量来绘制贝塞尔曲线。
具体操作是:选择曲线工具,然后在绘图区域中点击鼠标来确定第一个控制点的位置,接着移动鼠标来调整曲线的弯曲程度,再次点击鼠标来确定第二个控制点的位置,以此类推,直到完成曲线的绘制。
贝塞尔曲线的弯曲程度由控制点的位置和数量来决定,灵活性较高。
第二种方法是使用样条曲线。
样条曲线是一种平滑曲线,由多个插值点确定。
在CAD软件中,可以通过选择插值点的位置和数量来绘制样条曲线。
具体操作与贝塞尔曲线类似,选择曲线工具,然后在绘图区域中点击鼠标来确定第一个插值点的位置,接着移动鼠标来调整曲线的形状,再次点击鼠标来确定第二个插值点的位置,以此类推,直到完成曲线的绘制。
样条曲线的平滑程度由插值点的位置和数量来决定。
第三种方法是使用圆弧曲线。
圆弧曲线由一个圆弧和两个端点确定。
在CAD软件中,可以通过选择圆弧的半径、起始角度和终止角度来绘制圆弧曲线。
具体操作是:选择圆弧工具,然后在绘图区域中点击鼠标来确定圆弧的起始点和终止点,接着移动鼠标来调整圆弧的半径和角度,直到完成圆弧的绘制。
圆弧曲线的形状由圆弧的半径和角度来决定。
除了以上介绍的绘制方法,CAD软件还提供了一些辅助工具和命令来帮助绘制曲线。
例如,可以使用切线命令来绘制与给定曲线相切的曲线;可以使用修整命令来修整曲线的形状;可以使用复制命令来复制已绘制的曲线等等。
这些辅助工具和命令可以提高绘制曲线的效率和精确度。
最后,为了更好地绘制曲线,建议在绘制过程中使用各种辅助网格和参考线。
CAD软件通常提供了网格和参考线的功能,可以帮助用户更好地调整曲线的形状和位置,使其更符合设计要求。
缓和曲线CAD画法
在AutoCAD中缓和曲线的几种画法2011-06-25 20:32在AutoCAD中画缓和曲线比较困难,目前常用的画法有AutoLISP程序法(需要已知曲线要素)、坐标脚本法(需事先计算好各特征点及其他点为的坐标)、曲线命令法(需事先准备各特征点坐标),现分别介绍如下:画法一:缓和曲线AutoLISP 使用程序一、制作缓和曲线AutoLISP 使用程序复制AutoLISP程序源代码,打开“记事本”,粘贴进去后,另存为文件名“缓和曲线.LSP”,保存类型为“所有文件”(AutoLISP程序源代码见附件)二、加载缓和曲线AutoLISP使用程序在命令行输入“appload”打开自动加载对话框。
在对话框的“查找范围”里找到“缓和曲线.LSP”的那个程序,选中后,点击【加载】,显示“已成功加载缓和曲线.LSP”后,关闭对话框,ok你那个程序自动启动加载了。
三、在CAD中画出切线长四、运行程序在命令行中输入hh回车五、选择两条切线,然后输入曲线半径如:2204.5回车六、输入缓和曲线长,如270,绘图完成!画法二:坐标脚本法1.现做一个CAD脚本,会的人跳过(用Windows 文本另存为“.scr”文件)2.脚本编辑输入“SPLINE+空格键+Y坐标+,+X坐标+空格键+Y坐标+,+X坐标……” 以此类推!点输的越密,线条越平滑。
也可以用EXCEL算出各个点的坐标后粘贴进去,然后按照“SPLINE+空格键+Y坐标+,+X坐标+空格键+Y坐标+,+X坐标……”格式编辑。
3.进入CAD,运行脚本,就行了!注意:你可能输入了100个点,而出现的确只有几个点,这个很正常,你把图像删除了,多运行几次就行,一般不超过4次。
画法三:使用真样条曲线命令举例如下:输入导线:pline命令绘制1、2、3各点,其对应坐标如下x1=213.7748 y1=92.1117x2=313.7748 y2=92.1117x3=399.6787 y3=143.3026绘制通过ZH、HZ、QZ、HY和YH各点的和路线导线相切的含缓和曲线的平曲线。
cad怎么画曲线
cad怎么画曲线CAD软件是一款用于制图的设计软件,它可以支持绘制图形、三维模型、渲染等功能。
在CAD中,绘制曲线是一个基本操作,因此掌握曲线的绘制方法是学习CAD绘图技巧的重要一步。
下面介绍几种常见的绘制曲线的方法。
1. 绘制拟合曲线在CAD中,拟合曲线是通过已知点生成一条平滑曲线的一种方法。
绘制拟合曲线的步骤如下:(1)绘制一些点并确定其位置。
(2)选择Curve Fit命令,并选择直线、二次曲线、三次曲线等。
(3)选择需要绘制曲线的点。
(4)按下Enter键并生成曲线。
2. 绘制多段线CAD的多段线是由一条起始点通过在坐标系中移动鼠标形成的一系列线段组成的。
绘制多段线的步骤如下:(1)选择Pline或Polygon命令。
(2)在描绘曲线之前,选择一些点并确定它们的位置。
(3)连接这些点并生成一条多段线。
(4)在多段线中插入曲线。
3. 绘制样条曲线在CAD中,样条曲线是一种平滑的曲线,它通过沿着给定的点生成。
绘制样条曲线的步骤如下:(1)选择Spline命令。
(2)在绘制曲线之前选择一些点,并确定它们的位置。
(3)连接这些点并生成一条样条曲线。
4. 绘制圆弧在CAD中,圆弧是一段弧线的一部分,它可以绘制出任意半径的弧线。
绘制圆弧的步骤如下:(1)选择Arc命令。
(2)通过在坐标系中选择一个起点作为其中一点,然后再另一个位置处确定曲线的半径和角度。
(3)按下Enter键并生成一个圆弧。
绘制曲线是CAD设计中的基本技能,了解以上方法可以更好地应用到实际工程中。
通过练习和实践,掌握如何绘制曲线将极大地提高CAD绘图水平。
如何在CAD中制作平滑的曲线
如何在CAD中制作平滑的曲线在CAD软件中,制作平滑的曲线是一项常见但又有一定难度的任务。
本文将介绍一些实用的技巧和方法,帮助您在CAD中制作出精确且平滑的曲线。
1. 选择适当的曲线工具CAD软件通常提供了多种绘制曲线的工具,如线段、曲线拟合、样条曲线等。
根据您的绘图需求和对曲线平滑度的要求,选择适当的工具非常重要。
2. 使用控制点调整曲线形状大多数CAD软件允许您在绘制曲线时添加控制点,通过移动这些点来调整曲线的形状。
当需要制作平滑曲线时,可以适当增加控制点的数量,并仔细调整它们的位置来实现所需的曲线形状。
3. 利用阻尼功能有些CAD软件提供了阻尼功能,可以帮助您绘制平滑曲线。
在绘制曲线时,启用阻尼功能可以减少曲线的震荡和不规则形状,使曲线更加平滑。
4. 使用曲线平滑命令许多CAD软件提供了曲线平滑的命令。
该命令可以对已有的曲线进行平滑处理,去除曲线中的锐角和不规则形状。
通过调整平滑命令的参数,可以控制曲线平滑的程度。
5. 确保曲线间连接平滑当您需要绘制多条曲线并希望它们连接平滑时,可以使用CAD软件提供的对象捕捉功能。
该功能可让您将曲线的端点对齐并自动连接它们,从而实现平滑过渡。
6. 利用辅助工具一些CAD软件还提供了辅助工具,如曲线约束、平滑路径等,可以帮助您更精确地制作平滑曲线。
了解和使用这些辅助工具,可以提高工作效率并得到更好的曲线效果。
7. 定期检查曲线质量在绘制曲线的过程中,应定期检查曲线的质量。
排查曲线中的不必要的节点、过长的线段和不规则的形状,并予以修复。
保持曲线的整洁和平滑,有助于提高模型的质量和可视效果。
总结制作平滑的曲线在CAD设计中是一项基本且重要的技能。
通过选择适当的工具、灵活运用控制点、使用软件提供的功能和辅助工具,您可以有效地绘制出精确且平滑的曲线。
同时,保持曲线的质量和合理的曲线布局,也是实现平滑曲线的关键所在。
通过不断的练习和实践,您将能够掌握这一技巧,并在CAD设计中取得更好的效果。
cad如何绘制道路曲线
cad如何绘制道路曲线
cad绘制道路曲线的方法:
第一种:偏移命令。
就是就基线向两侧偏移.但是在公路图方面,偏移路线基线后,产生的线条会自动生成很多个控制点.如果是对图面修改这块要求不高的,可以使用这种方法.
第二种:则是等分基线,再重连。
将路线基线等分成若干段之后,以定距(即路面宽度)垂直线为等分块,然后垂直于基线.这样生成的垂直线就与基线垂直分布,然后再用曲线命令连接各个垂直红的端点,形成路面边界.这种工作量大,但是图面管理上就会方便一些.建议最好获得路线转角的各个值数.然后再定点连接.这样子准备一些第三种则是依靠土木建筑这类插件来实现.
第三种:样条曲线(spl)勾游路的轮廓。
这样看起来比较顺畅,然后用多段线(pl)命令,在样条曲线弧形的地方用多段线中的圆弧命令(a),直线的地方用多段线中的直线命令(l),尽量保持与样条曲线的线路方向一致,这样更顺畅。
画好道路一边后,用偏移的命令(o),偏移你所想要的道路宽度。
还可以通过多段线的特点,做成闭合的线,进行你喜欢的游路图案填充。
用多段线画了以后,可以改变线型的宽度,而如果只用样条曲线画的话,有时候会因为弧度问题无法偏移,再者无
法改变线型宽度。
当然了,有专门的规划软件可以一次性画出游路,并可以一次性图案填充。
缓和曲线测设方法及步骤
缓和曲线测设方法及步骤
缓和曲线是指连接两个不同半径的曲线段时所采用的过渡曲线,用于平稳地过渡车辆行驶
方向的改变。
缓和曲线测设方法及步骤如下:
1. 准备工作:确定需要设计缓和曲线的两个曲线段的半径和关键数据,如切线长度等。
2. 计算缓和曲线参数:根据设计要求,计算缓和曲线的切线长、切线倾角和缓和曲线长度等参数。
3. 确定标定点:在缓和曲线上选择若干个标定点,一般包括起始点、终止点、中间点和过渡点等。
4. 进行野外测量:在确定的标定点上进行野外测量,包括测量标定点的坐标和地面高程等。
5. 数据处理:将野外测量的数据进行处理,计算出缓和曲线中的各个点的坐标和地面高程。
6. 绘制缓和曲线:根据计算得到的缓和曲线参数和测量的数据,利用工程绘图软件或绘图工具,绘制出缓和曲线图。
7. 检查和修正:通过对绘制的缓和曲线图进行检查和修正,保证缓和曲线的平滑和连续性。
8. 缓和曲线设计报告:根据设计要求,编写缓和曲线设计报告,包括设计计算数据和绘制的缓
和曲线图等。
以上是缓和曲线测设的一般方法和步骤,具体操作过程可能会因具体情况而有所不同。
基于AutoCAD的线路缓和曲线的自动绘制
直缓点(ZH)的切线方向一致。为了根据方程式 计算缓和曲线上的点的坐标并绘制缓和曲线,需 要使 AutoCAD 的坐标系与缓和曲线的坐标系重 合。为此,单击“UCS”工具栏中的“对象 UCS” 按钮 ,并在靠近交点(JD)处拾取第 2 条直
线,此时 UCS 坐标系的原点位于交点,且 x 轴
l0 —— 缓和曲线的长度;
E0 —— 外矢距,即交点至曲线中点的距离 (JD 至 QZ 的距离)
α —— 转向角,即直线转向角;
β 0 —— 缓和曲线的切线角,即缓圆点 HY(或
圆缓点 YH)切线与直缓点(或缓直点 HZ)切线
的交角,亦即圆曲线 HY→YH 两端各延长 l0 2 部
分所对应的圆心角;
界点; QZ—— 曲中点,即圆曲线的中点; YH—— 圆缓点,即圆曲线与缓和曲线的分
界点; HZ—— 缓直点,即缓和曲线与直线的分界
点; JD —— 两直线延长线的交点。
1.3 缓和曲线的综合要素 T——切线长,即交点至直缓点或缓直点的
直线长度; R—— 圆曲线半径; L—— 曲线(圆曲线+缓和曲线)的长度;
m ——切垂距,即 ZH(或 HZ)至自圆心
O1 向 ZH 点或 HZ 点的切线作垂线垂足的距离。
p ——圆曲线移动量,即垂线长与圆曲线半
径 R 之差。
在上述要素中, α ,R,l0 为已知要素(可 根据实际测定或在线路设计时选定),其他要素
需根据α,R,l0 求得。它们的关系为
T = (R + p) ⋅ tan α + m
2)))) (* y0 (sin (abs(/ alpha1 2))))))) (setq hyy (+ (* (- TL x0) (sin (abs(/ alpha1 2))))
CAD画缓和曲线lisp程序精编版
CAD中画缓和曲线,首先复制本文☆后面的源程序保存至cad安装目录的SUPPORT文件夹,保存类型为.lsp 可以随便复制一个SUPPORT文件夹内的lsp文件,然后替换本文的程序。
打开CAD后,输入appload回车,找到你保存的缓和曲线lsp程序,点击加载,然后就可以画缓和曲线了。
首先,要画出缓和曲线的两条直线,然后输入HH回车,按提示完成缓和曲线。
注:本程序,缓和曲线段拟合长度为0.4m,如需更改拟合长度,将程序的第8行(repeat (FIX(/ Ls 0.4))及9行(setq l (+ l (/ Ls (FIX(/ Ls 0.4))))中的0.4修改即可。
☆;;多义线摹拟缓和曲线。
;;输入起止直线、半径、缓和曲线长或设计车速。
;;命令:HH(defun com_p()(setq l 0)(command "ucs" "o" (list (- 0 x1) 0 0))(command "pline" (list 0 0 0) "w" "0" ""(repeat (FIX(/ Ls 0.4))(setq l (+ l (/ Ls (FIX(/ Ls 0.4))))x (+ (- l (/ (* l l l l l) 40 C C)) (/ (* l l l l l l l l l) 3456 C C C C))y (* id__ (+ (- (/ (* l l l) 6 C) (/ (* l l l l l l l) 336 C C C)) (/ (* l l l l l l l l l l l) 42240 C C C C C))));setq(command (list x y 0)));repaet);command(setq pt5 (trans (list x y 0) 1 0)));com_p(defun ll_v()(setq V (getreal "\nGive Velocity:")Ls1 (* V 0.85)Ls2 (/ (* 0.0357 V V V) R)Ls (max Ls1 Ls2 (/ R 9))Ls (* (fix (/ Ls 10)) 10.0));setq(if (> Ls R) (setq Ls R))(ll_d));ll_v(defun ll_d()(setq os (getvar "osmode"))(setvar "osmode" 0)(setq C (* Ls R)q (- (+ (- (/ Ls 2) (/ (* Ls Ls Ls) 240 R R)) (/ (* Ls Ls Ls Ls Ls) 34560 R R R R)) (/(* Ls Ls Ls Ls Ls Ls Ls) 8386560 R R R R R R))pt1 (cdr (assoc 10 (entget (car p1))))pt2 (cdr (assoc 11 (entget (car p1))))pt10(polar pt1 (angle pt1 pt2) (/ (distance pt1 pt2) 2))pt3 (cdr (assoc 10 (entget (car p2))))pt4 (cdr (assoc 11 (entget (car p2))))pt20(polar pt3 (angle pt3 pt4) (/ (distance pt3 pt4) 2))p (+ (- (/ (* Ls Ls) 24 R) (/ (* Ls Ls Ls Ls) 2688 R R R)) (/ (* Ls Ls Ls Ls Ls Ls) 506880 R R R R R))jd (inters pt1 pt2 pt3 pt4 nil)alf1(angle pt10 jd)alf2(angle pt20 jd)alf (- (angle jd pt20) alf1));setq(if (or (> alf pi) (and (< alf 0) (> alf (- 0 pi))))(progn(setq id__ -1)(if (> alf pi) (setq alf (- (+ pi pi) alf)) (setq alf (abs alf))));progn(progn(setq id__ 1)(if (<= alf (- 0 pi)) (setq alf (+ pi pi alf))));progn);if(setq x0 (/ (* (+ p R) (sin(/ alf 2.0))) (cos(/ alf 2.0)))x1 (+ x0 q)Cl (+ (* alf R) Ls)E (- (/ (+ R p) (cos(/ alf 2))) R));setq(command "ucs" "o" jd)(command "ucs" "z" (/ (* 180 alf1) pi))(com_p) (setq pt6 pt5)(setq ppt1 (list x1 0 0))(command "ucs" "")(command "ucs" "o" jd)(command "ucs" "z" (/ (* 180 alf2) pi))(setq id__ (- 0 id__)) (com_p)(setq ppt2 (list x1 0 0))(command "ucs" "")(if (> (abs(distance jd pt1)) (abs(distance jd pt2)))(setq ptt1 pt1)(setq ptt1 pt2));if(setq ptt2 (polar jd alf1 (- 0 x1)))(thh p1 ptt1 10)(thh p1 ptt2 11)(if (> (abs(distance jd pt3)) (abs(distance jd pt4)))(setq ptt3 pt3)(setq ptt3 pt4));if(setq ptt4 (polar jd alf2 (- 0 x1)))(thh p2 ptt3 10)(thh p2 ptt4 11)(if (= id__ 1) (command "arc" pt5 "e" pt6 "r" R) (command "arc" pt6 "e" pt5 "r" R)) (setq alfd (angf alf))(setvar "osmode" os)(command "cmdecho" "1")(command "text" pause pause "" (strcat "偏角=" alfd))(command "cmdecho" "0")(command "text" "" (strcat "半径=" (rtos R 2 2)))(command "text" "" (strcat "切线长=" (rtos x1 2 2)))(command "text" "" (strcat "曲线长=" (rtos Cl 2 2)))(command "text" "" (strcat "外距=" (rtos E 2 2)))(command "text" "" (strcat "缓曲长=" (rtos Ls 2 2))));ll_d(defun angf (alf)(setq alff (angtos alf 1 4)n 1kk (strlen alff))(repeat kk(setq alfn (substr alff n 1))(if (= alfn "d")(setq nn n));if(setq n (+ n 1)));repeat(strcat (substr alff 1 (- nn 1)) "%%" (substr alff nn)));angf(defun c:hh(/ p1 p2 pt1 pt2 pt3 pt4 pt5 pt6 pt10 pt20 id__ R V Ls E p3r1 x y l x0 x1 C jd alf alf1 alf2 q p Cl Ls1 Ls2)(command "ucs" "")(setq p1 nil p2 nil)(while (= p1 nil) (setq p1 (entsel "\n拾取第一条直线:")))(redraw (car p1) 3)(while (= p2 nil) (setq p2 (entsel "\n拾取第二条直线:")))(redraw (car p2) 3)(initget 1)(setq R (getdist "\n请输入圆曲线半径R: "))(initget 1 "Ls V")(setq p3 (getdist "\n输入缓和曲线长度(Ls)或[设计速度(V)]:")) (if (= p3 "V") (ll_v) (progn (setq ls p3) (ll_d)))(princ));eline(defun thh(len pt h)(setq en_data (entget (car len))old_data (assoc h en_data)new_data (cons h pt)en (subst new_data old_data en_data));setq(entmod en));thh。
cad画缓和曲线lisp程序(1)
CAD中画缓和曲线,首先复制本文☆后面的源程序保存至cad安装目录的SUPPORT文件夹,保存类型为.lsp 可以随便复制一个SUPPORT文件夹内的lsp文件,然后替换本文的程序。
打开CAD后,输入appload回车,找到你保存的缓和曲线lsp程序,点击加载,然后就可以画缓和曲线了。
首先,要画出缓和曲线的两条直线,然后输入HH回车,按提示完成缓和曲线。
注:本程序,缓和曲线段拟合长度为,如需更改拟合长度,将程序的第8行(repeat (FIX(/ Ls )及9行(setq l (+ l (/ Ls (FIX(/ Ls )))中的修改即可。
☆;;多义线摹拟缓和曲线。
;;输入起止直线、半径、缓和曲线长或设计车速。
;;命令:HH(defun com_p()(setq l 0)(command "ucs" "o" (list (- 0 x1) 0 0))(command "pline" (list 0 0 0) "w" "0" ""(repeat (FIX(/ Ls )(setq l (+ l (/ Ls (FIX(/ Ls )))x (+ (- l (/ (* l l l l l) 40 C C)) (/ (* l l l l l l l l l) 3456 C C C C))y (* id__ (+ (- (/ (* l l l) 6 C) (/ (* l l l l l l l) 336 C C C)) (/ (* l l l l l l l l l l l) 42240 C C C C C))));setq(command (list x y 0)));repaet);command(setq pt5 (trans (list x y 0) 1 0)));com_p(defun ll_v()(setq V (getreal "\nGive Velocity:")Ls1 (* VLs2 (/ (* V V V) R)Ls (max Ls1 Ls2 (/ R 9))Ls (* (fix (/ Ls 10)));setq(if (> Ls R) (setq Ls R))(ll_d));ll_v(defun ll_d()(setq os (getvar "osmode"))(setvar "osmode" 0)(setq C (* Ls R)q (- (+ (- (/ Ls 2) (/ (* Ls Ls Ls) 240 R R)) (/ (* Ls Ls Ls Ls Ls) 34560 R R R R)) (/ (* Ls Ls Ls Ls Ls Ls Ls) 8386560 R R R R R R)) pt1 (cdr (assoc 10 (entget (car p1))))pt2 (cdr (assoc 11 (entget (car p1))))pt10(polar pt1 (angle pt1 pt2) (/ (distance pt1 pt2) 2))pt3 (cdr (assoc 10 (entget (car p2))))pt4 (cdr (assoc 11 (entget (car p2))))pt20(polar pt3 (angle pt3 pt4) (/ (distance pt3 pt4) 2))p (+ (- (/ (* Ls Ls) 24 R) (/ (* Ls Ls Ls Ls) 2688 R R R)) (/ (* Ls Ls Ls Ls Ls Ls) 506880 R R R R R))jd (inters pt1 pt2 pt3 pt4 nil)alf1(angle pt10 jd)alf2(angle pt20 jd)alf (- (angle jd pt20) alf1));setq(if (or (> alf pi) (and (< alf 0) (> alf (- 0 pi))))(progn(setq id__ -1)(if (> alf pi) (setq alf (- (+ pi pi) alf)) (setq alf (abs alf))));progn(progn(setq id__ 1)(if (<= alf (- 0 pi)) (setq alf (+ pi pi alf))));progn);if(setq x0 (/ (* (+ p R) (sin(/ alf )) (cos(/ alf ))x1 (+ x0 q)Cl (+ (* alf R) Ls)E (- (/ (+ R p) (cos(/ alf 2))) R));setq(command "ucs" "o" jd)(command "ucs" "z" (/ (* 180 alf1) pi))(com_p) (setq pt6 pt5)(setq ppt1 (list x1 0 0))(command "ucs" "")(command "ucs" "o" jd)(command "ucs" "z" (/ (* 180 alf2) pi))(setq id__ (- 0 id__)) (com_p)(setq ppt2 (list x1 0 0))(command "ucs" "")(if (> (abs(distance jd pt1)) (abs(distance jd pt2)))(setq ptt1 pt1)(setq ptt1 pt2));if(setq ptt2 (polar jd alf1 (- 0 x1)))(thh p1 ptt1 10)(thh p1 ptt2 11)(if (> (abs(distance jd pt3)) (abs(distance jd pt4)))(setq ptt3 pt3)(setq ptt3 pt4));if(setq ptt4 (polar jd alf2 (- 0 x1)))(thh p2 ptt3 10)(thh p2 ptt4 11)(if (= id__ 1) (command "arc" pt5 "e" pt6 "r" R) (command "arc" pt6 "e" pt5 "r" R))(setq alfd (angf alf))(setvar "osmode" os)(command "cmdecho" "1")(command "text" pause pause "" (strcat "偏角=" alfd))(command "cmdecho" "0")(command "text" "" (strcat "半径=" (rtos R 2 2)))(command "text" "" (strcat "切线长=" (rtos x1 2 2)))(command "text" "" (strcat "曲线长=" (rtos Cl 2 2)))(command "text" "" (strcat "外距=" (rtos E 2 2)))(command "text" "" (strcat "缓曲长=" (rtos Ls 2 2))));ll_d(defun angf (alf)(setq alff (angtos alf 1 4)n 1kk (strlen alff))(repeat kk(setq alfn (substr alff n 1))(if (= alfn "d")(setq nn n));if(setq n (+ n 1)));repeat(strcat (substr alff 1 (- nn 1)) "%%" (substr alff nn)));angf(defun c:hh(/ p1 p2 pt1 pt2 pt3 pt4 pt5 pt6 pt10 pt20 id__ R V Ls E p3r1 x y l x0 x1 C jd alf alf1 alf2 q p Cl Ls1 Ls2)(command "ucs" "")(setq p1 nil p2 nil)(while (= p1 nil) (setq p1 (entsel "\n拾取第一条直线:")))(redraw (car p1) 3)(while (= p2 nil) (setq p2 (entsel "\n拾取第二条直线:")))(redraw (car p2) 3)(initget 1)(setq R (getdist "\n请输入圆曲线半径R: "))(initget 1 "Ls V")(setq p3 (getdist "\n输入缓和曲线长度(Ls)或[设计速度(V)]: ")) (if (= p3 "V") (ll_v) (progn (setq ls p3) (ll_d)))(princ));eline(defun thh(len pt h)(setq en_data (entget (car len))old_data (assoc h en_data)new_data (cons h pt)en (subst new_data old_data en_data));setq(entmod en));thh。
CAD曲线画法
引用如何在CAD中画缓和曲线一、在CAD中画出切线长二、运行程序:在命令行中输入hh回车三、选择两条切线,然后输入曲线半径如:2204.5回车四、输入缓和曲线长,如270,绘图完成!如图记事本格式内容,新建的lisp语言,在CAD中要先加载;;多义线摹拟缓和曲线。
;;输入起止直线、半径、缓和曲线长或设计车速。
;;命令:HH(defun com_p()(setq l 0)(command "ucs" "o" (list (- 0 x1) 0 0))(command "pline" (list 0 0 0) "w" "0" ""(repeat 1000(setq l (+ l (/ Ls 1000))x (+ (- l (/ (* l l l l l) 40 C C)) (/ (* l l l l l l l l l) 3456 C C C C))y (* id__ (+ (- (/ (* l l l) 6 C) (/ (* l l l l l l l) 336 C C C)) (/ (* l l l l l l l l l l l) 42240 C C C C C))));setq(command (list x y 0)));repaet);command(setq pt5 (trans (list x y 0) 1 0)));com_p(defun ll_v()(setq V (getreal "\nGive Velocity:")Ls1 (* V 0.85)Ls2 (/ (* 0.0357 V V V) R)Ls (max Ls1 Ls2 (/ R 9))Ls (* (fix (/ Ls 10)) 10.0));setq(if (> Ls R) (setq Ls R))(ll_d));ll_v(defun ll_d()(setq os (getvar "osmode"))(setvar "osmode" 0)(setq C (* Ls R)q (- (+ (- (/ Ls 2) (/ (* Ls Ls Ls) 240 R R)) (/ (* Ls Ls Ls Ls Ls) 34560 R R R R)) (/ (* Ls Ls Ls Ls Ls Ls Ls) 8386560 R R R R R R))pt1 (cdr (assoc 10 (entget (car p1))))pt2 (cdr (assoc 11 (entget (car p1))))pt10(polar pt1 (angle pt1 pt2) (/ (distance pt1 pt2) 2))pt3 (cdr (assoc 10 (entget (car p2))))pt4 (cdr (assoc 11 (entget (car p2))))pt20(polar pt3 (angle pt3 pt4) (/ (distance pt3 pt4) 2))p (+ (- (/ (* Ls Ls) 24 R) (/ (* Ls Ls Ls Ls) 2688 R R R)) (/ (* Ls Ls Ls Ls Ls Ls) 506880 R R R R R))jd (inters pt1 pt2 pt3 pt4 nil)alf1(angle pt10 jd)alf2(angle pt20 jd)alf (- (angle jd pt20) alf1));setq(if (or (> alf pi) (and (< alf 0) (> alf (- 0 pi))))(progn(setq id__ -1)(if (> alf pi) (setq alf (- (+ pi pi) alf)) (setq alf (abs alf))) );progn(progn(setq id__ 1)(if (<= alf (- 0 pi)) (setq alf (+ pi pi alf))));progn);if(setq x0 (/ (* (+ p R) (sin(/ alf 2.0))) (cos(/ alf 2.0)))x1 (+ x0 q)Cl (+ (* alf R) Ls)E (- (/ (+ R p) (cos(/ alf 2))) R));setq(command "ucs" "o" jd)(command "ucs" "z" (/ (* 180 alf1) pi))(com_p) (setq pt6 pt5)(setq ppt1 (list x1 0 0))(command "ucs" "")(command "ucs" "o" jd)(command "ucs" "z" (/ (* 180 alf2) pi))(setq id__ (- 0 id__)) (com_p)(setq ppt2 (list x1 0 0))(command "ucs" "")(if (> (abs(distance jd pt1)) (abs(distance jd pt2)))(setq ptt1 pt1)(setq ptt1 pt2));if(setq ptt2 (polar jd alf1 (- 0 x1)))(thh p1 ptt1 10)(thh p1 ptt2 11)(if (> (abs(distance jd pt3)) (abs(distance jd pt4)))(setq ptt3 pt3)(setq ptt3 pt4));if(setq ptt4 (polar jd alf2 (- 0 x1)))(thh p2 ptt3 10)(thh p2 ptt4 11)(if (= id__ 1) (command "arc" pt5 "e" pt6 "r" R) (command "arc" pt6 "e" pt5 "r" R))(setq alfd (angf alf))(setvar "osmode" os)(command "cmdecho" "1")(command "text" pause pause "" (strcat "偏角=" alfd)) (command "cmdecho" "0")(command "text" "" (strcat "半径=" (rtos R 2 2)))(command "text" "" (strcat "切线长=" (rtos x1 2 2)))(command "text" "" (strcat "曲线长=" (rtos Cl 2 2)))(command "text" "" (strcat "外距=" (rtos E 2 2)))(command "text" "" (strcat "缓和曲线长=" (rtos Ls 2 2))));ll_d(defun angf (alf)(setq alff (angtos alf 1 4)n 1kk (strlen alff))(repeat kk(setq alfn (substr alff n 1))(if (= alfn "d")(setq nn n));if(setq n (+ n 1)));repeat(strcat (substr alff 1 (- nn 1)) "%%" (substr alff nn)));angf(defun c:hh(/ p1 p2 pt1 pt2 pt3 pt4 pt5 pt6 pt10 pt20 id__ R V Ls E p3 r1 x y l x0 x1 C jd alf alf1 alf2 q p Cl Ls1 Ls2)(command "ucs" "")(setq p1 nil p2 nil)(while (= p1 nil) (setq p1 (entsel "\n拾取第一条直线:")))(redraw (car p1) 3)(while (= p2 nil) (setq p2 (entsel "\n拾取第二条直线:")))(redraw (car p2) 3)(initget 1)(setq R (getdist "\n请输入弯道半径R: "))(initget 1 "Ls V")(setq p3 (getdist "\n输入缓和曲线长度(Ls)或[设计速度(V)]: "))(if (= p3 "V") (ll_v) (progn (setq ls p3) (ll_d)))(princ));eline(defun thh(len pt h)(setq en_data (entget (car len))old_data (assoc h en_data)new_data (cons h pt)en (subst new_data old_data en_data));setq(entmod en));thh公路设计中的缓和曲线在CAD中绘制时一直是个难题。
如何在CAD中绘制曲线
如何在CAD中绘制曲线在CAD中绘制曲线是很常见的操作,本文将向您介绍一些使用AE 软件的技巧和方法,帮助您掌握如何在CAD中绘制曲线。
首先,我们要选择绘制曲线的工具。
在AE软件中,我们有多种工具可供选择,包括直线工具、圆弧工具、样条曲线工具等。
不同的曲线类型适用于不同的绘制需求,因此我们需要根据实际情况来选择合适的工具。
接下来,我们要确定曲线的起始点和终止点。
通过在CAD中设定起始点和终止点,我们可以确定曲线的长度和方向。
您可以使用鼠标点击或者输入坐标的方式来确定起始点和终止点的位置。
在确定起始点和终止点后,我们可以通过拖动鼠标或者手动输入数值来调整曲线的形状。
通过调整曲线的控制点,我们可以改变曲线的弯曲程度和曲线的斜率。
如果您想要绘制平滑的曲线,您可以使用样条曲线工具。
样条曲线工具允许您通过拖动鼠标或者调整控制点来创建平滑的曲线。
在使用样条曲线工具时,您可以根据需要添加或删除控制点,以获取所需的曲线形状。
除了绘制曲线外,AE软件还提供了一些其他的功能和技巧,帮助您更好地操作和编辑曲线。
例如,您可以使用镜像功能来创建对称曲线;使用复制和移动功能来快速重复绘制曲线;使用差值功能来创建平滑过渡的曲线等等。
当您完成曲线的绘制后,您可以根据需要对曲线进行进一步的编辑和修改。
AE软件提供了众多的编辑工具和选项,使您能够对曲线进行精确的调整。
您可以修改曲线的顶点位置、调整曲线的形状和角度、改变曲线的颜色和样式等等。
在使用AE软件绘制曲线时,建议您始终保持工作区的整洁和有序。
可以使用图层来管理和组织您的曲线对象,以便于后续的编辑和修改。
此外,您还可以使用图层和命名方式来标记不同类型的曲线,以方便后续的查找和操作。
总结起来,使用AE软件在CAD中绘制曲线是一项非常有用的技能。
通过掌握合适的工具和技巧,您可以轻松地在CAD中创建各种复杂的曲线形状。
希望本文可以帮助您更好地理解和应用AE软件,在CAD中绘制曲线。
在CAD中用样条曲线画缓和曲线
303.1518303°15'18"X Y SplineZH9665.6317087.8837087.883,9665.631HY9370.3697140.5667140.566,9370.369QZ8962.1647282.5967282.596,8962.164YH8594.0047509.0087509.008,8594.004HZ8366.4807704.4257704.425,8366.487087.883,9665.6317704.425,8366.48支距法现在都不怎么用了 给你个偏角法的计算ZH至i点的偏角 A=30xL的平方 除以派 除以R 除以LsZH至i点的弦长 C=L(ZH至i点的长)-L的5次方 除以90 除以R的平方 除以Ls的平方缓和曲线坐标公式X=L-L^5÷[40(RLS)^2]+L^9÷[3456(RLS)^4]–L^13÷[599040(RLS)^6]+L^17÷[175472640(RLS)^8]- L^21÷[7.80337152×1010(RLS)^10]Y=L^3÷[6(RLS)] - L^7÷[336(RLS)^3]+L^11÷[42240(RLS)^5] - L^15÷[9676800(RLS)^7]+L^19÷[3530096640(RLS)^9] - L^23÷[1.8802409472×1012园是C 曲线是SPL 样条曲线或者用 A画弧线(1)将“对象捕捉”中的“节点”选中(2)绘图-----单点-----选中一条线的起始点--------空格------输入距离(输入距离之前一定要先捕捉到第一个点,然后沿着这条线的方向去输入距离)-----空格------输入(3)你在标注的时候那些“点”就会被捕捉到大家多多指教!因为我不大会做动画,所以只能用文字说明,忘大家谅解:1.现做一个CAD脚本,会的人跳过(用Windows 文本另存为“.scr”文件)2.脚本编辑输入“SPLINE+空格键+Y坐标+,+X坐标+空格键+Y坐标+,+X坐标……” 以此类推!点输的越密,线条越平滑。
在CAD中画缓及曲线过程
一、在CAD中画出切线长二、运行程序:在命令行中输入hh回车三、选择两条切线,然后输入曲线半径如:2204.5回车四、输入缓和曲线长,如270,绘图完成!如图基本命令集(设计中心“Ctrl+2”)修改特性“Ctrl+1”)(属性匹配)(文字样式)(设置颜色)(图层操作)ETYPE(线形)(线形比例)(线宽)(图形单位)(属性定义)(编辑属性)(边界创建,包括创建闭合多段线和面域)(对齐)(退出)(输出其它格式文件)(输入文件)(自定义CAD设置)PLOT(打印)(清除垃圾)(重新生成)(重命名)(捕捉栅格)(设置极轴追踪)(设置捕捉模式)(打印预览)(工具栏)(命名视图)(面积)(距离)(显示图形数据信息)、绘图命令:(点)(直线)(射线)(多段线)(多线)(样条曲线)(正多边形)(矩形)圆)圆弧)(圆环)(椭圆)(面域)(多行文本)(多行文本)(块定义)(插入块)(定义块文件)(等分)(填充)、修改命令:(复制)(镜像)(阵列)(偏移)(旋转)(移动)键*ERASE(删除)(分解)(修剪)(延伸)H(拉伸)(直线拉长)(比例缩放)(打断)倒角)(倒圆角)(多段线编辑)(修改文本)、视窗缩放:(平移)+空格+空格,*实时缩放局部放大返回上一视图+E,*显示全图、尺寸标注:(直线标注)IGNED(对齐标注)(半径标注)(直径标注)(角度标注)(中心标注)(点标注)(标注形位公差)(快速引出标注)(基线标注)(连续标注)(标注样式)IMEDIT(编辑标注)替换标注系统变量) (二)常用CTRL快捷键【CTRL】+1*PROPERTIES(修改特性) 【CTRL】+2*ADCENTER(设计中心)【CTRL】+O *OPEN(打开文件)【CTRL】+N、M *NEW(新建文件)【CTRL】+P *PRINT(打印文件)【CTRL】+S *SAVE(保存文件)【CTRL】+Z *UNDO(放弃)【CTRL】+X *CUTCLIP(剪切)【CTRL】+C *COPYCLIP(复制)【CTRL】+V *PASTECLIP(粘贴)【CTRL】+B *SNAP(栅格捕捉)【CTRL】+F *OSNAP(对象捕捉)【CTRL】+G *GRID(栅格)【CTRL】+L *ORTHO(正交)【CTRL】+W *(对象追踪)【CTRL】+U *(极轴)(三)常用功能键【F1】*HELP(帮助)【F2】*(文本窗口)【F3】*OSNAP(对象捕捉)【F7】*GRIP(栅格)【F8】*ORTHO(正交)第17章布图、打印与图纸管理绘制好的建筑图样需要打印出来进行报批、存档、交流、指导施工,所以绘图的最后一步是打印图形。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CAD道路工程中缓和曲线的画法缓和曲线AutoLISP 应用程序一、制作缓和曲线AutoLISP 应用程序复制AutoLISP程序源代码,打开“记事本”,粘贴进去后,另存为文件名“缓和曲线.LSP”,保存类型为“所有文件”(AutoLISP程序源代码见附件)二、加载缓和曲线AutoLISP应用程序在命令行输入“appload”打开自动加载对话框。
在对话框的“查找范围”里找到“缓和曲线.LSP”的那个程序,选中后,点击【加载】,显示“已成功加载缓和曲线.LSP”后,关闭对话框,ok你那个程序自动启动加载了。
三、在CAD中画出切线四、运行程序在命令行中输入hh回车五、选择两条切线,然后输入曲线半径如:400回车六、输入缓和曲线长,如100,绘图完成!附件:缓和曲线AutoLISP 程序源代码(defun com_p()(setq l 0)(command "ucs" "o" (list (- 0 x1) 0 0))(command "pline" (list 0 0 0) "w" "0" ""(repeat 1000(setq l (+ l (/ Ls 1000))x (+ (- l (/ (* l l l l l) 40 C C)) (/ (* l l l l l l l l l) 3456 C C C C))y (* id__ (+ (- (/ (* l l l) 6 C) (/ (* l l l l l l l) 336 C C C)) (/ (* l l l l l l l l l l l) 42240 C C C C C))));setq(command (list x y 0)));repaet);command(setq pt5 (trans (list x y 0) 1 0)));com_p(defun ll_v()(setq V (getreal "\nGive Velocity:")Ls1 (* V 0.85)Ls2 (/ (* 0.0357 V V V) R)Ls (max Ls1 Ls2 (/ R 9))Ls (* (fix (/ Ls 10)) 10.0));setq(if (> Ls R) (setq Ls R))(ll_d));ll_v(defun ll_d()(setq os (getvar "osmode"))(setvar "osmode" 0)(setq C (* Ls R)q (- (+ (- (/ Ls 2) (/ (* Ls Ls Ls) 240 R R)) (/ (* Ls Ls Ls Ls Ls) 34560 R R R R)) (/ (* Ls Ls Ls Ls Ls Ls Ls) 8386560 R R R R R R))pt1 (cdr (assoc 10 (entget (car p1))))pt2 (cdr (assoc 11 (entget (car p1))))pt10(polar pt1 (angle pt1 pt2) (/ (distance pt1 pt2) 2))pt3 (cdr (assoc 10 (entget (car p2))))pt4 (cdr (assoc 11 (entget (car p2))))pt20(polar pt3 (angle pt3 pt4) (/ (distance pt3 pt4) 2))p (+ (- (/ (* Ls Ls) 24 R) (/ (* Ls Ls Ls Ls) 2688 R R R)) (/ (* Ls Ls Ls Ls Ls Ls) 506880 R R R R R))jd (inters pt1 pt2 pt3 pt4 nil)alf1(angle pt10 jd)alf2(angle pt20 jd)alf (- (angle jd pt20) alf1));setq(if (or (> alf pi) (and (< alf 0) (> alf (- 0 pi))))(progn(setq id__ -1)(if (> alf pi) (setq alf (- (+ pi pi) alf)) (setq alf (abs alf))));progn(progn(setq id__ 1)(if (<= alf (- 0 pi)) (setq alf (+ pi pi alf))));progn);if(setq x0 (/ (* (+ p R) (sin(/ alf 2.0))) (cos(/ alf 2.0)))x1 (+ x0 q)Cl (+ (* alf R) Ls)E (- (/ (+ R p) (cos(/ alf 2))) R));setq(command "ucs" "o" jd)(command "ucs" "z" (/ (* 180 alf1) pi))(com_p) (setq pt6 pt5)(setq ppt1 (list x1 0 0))(command "ucs" "")(command "ucs" "o" jd)(command "ucs" "z" (/ (* 180 alf2) pi))(setq id__ (- 0 id__)) (com_p)(setq ppt2 (list x1 0 0))(command "ucs" "")(if (> (abs(distance jd pt1)) (abs(distance jd pt2)))(setq ptt1 pt1)(setq ptt1 pt2));if(setq ptt2 (polar jd alf1 (- 0 x1)))(thh p1 ptt1 10)(thh p1 ptt2 11)(if (> (abs(distance jd pt3)) (abs(distance jd pt4)))(setq ptt3 pt3)(setq ptt3 pt4));if(setq ptt4 (polar jd alf2 (- 0 x1)))(thh p2 ptt3 10)(thh p2 ptt4 11)(if (= id__ 1) (command "arc" pt5 "e" pt6 "r" R) (command "arc" pt6 "e" pt5 "r" R)) (setq alfd (angf alf))(setvar "osmode" os)(command "cmdecho" "1")(command "text" pause pause "" (strcat "偏角=" alfd))(command "cmdecho" "0")(command "text" "" (strcat "半径=" (rtos R 2 2)))(command "text" "" (strcat "切线长=" (rtos x1 2 2)))(command "text" "" (strcat "曲线长=" (rtos Cl 2 2)))(command "text" "" (strcat "外距=" (rtos E 2 2)))(command "text" "" (strcat "缓和曲线长=" (rtos Ls 2 2))));ll_d(defun angf (alf)(setq alff (angtos alf 1 4)n 1kk (strlen alff))(repeat kk(setq alfn (substr alff n 1))(if (= alfn "d")(setq nn n));if(setq n (+ n 1)));repeat(strcat (substr alff 1 (- nn 1)) "%%" (substr alff nn)));angf(defun c:hh(/ p1 p2 pt1 pt2 pt3 pt4 pt5 pt6 pt10 pt20 id__ R V Ls E p3r1 x y l x0 x1 C jd alf alf1 alf2 q p Cl Ls1 Ls2) (command "ucs" "")(setq p1 nil p2 nil)(while (= p1 nil) (setq p1 (entsel "\n拾取第一条直线:"))) (redraw (car p1) 3)(while (= p2 nil) (setq p2 (entsel "\n拾取第二条直线:"))) (redraw (car p2) 3)(initget 1)(setq R (getdist "\n请输入弯道半径R: "))(initget 1 "Ls V")(setq p3 (getdist "\n输入缓和曲线长度(Ls)或[设计速度(V)]:")) (if (= p3 "V") (ll_v) (progn (setq ls p3) (ll_d)))(princ));eline(defun thh(len pt h)(setq en_data (entget (car len))old_data (assoc h en_data)new_data (cons h pt)en (subst new_data old_data en_data));setq(entmod en));thh。