
如何在AutoCAD中画正弦曲线
7个回答
展开全部
在工作需要时,要用CAD画个交流正旋波图,CAD不能像Excel那样可以输入公式,网上也没有找到好的解决办法,所以自己研究了下CAD的功能,然后画了出来。
1.横着画一条2mm的直线,然后在这个横线的中点上画一条2mm的竖线。
2.然后用SPLINE(样条曲线)命令,然后按下图这样选点之后,就能画出正弦波的正半周。
3.然后再把画好的曲线复制,镜像一个负半周出来就OK了。
用cad绘制曲线的方法
1.单击autocad2013工具栏“绘图”按钮;从弹出的菜单中选择“样条曲线控制点”;或执行命令:spline
2.autocad2013命令提示:
指定第一个点(指定样条曲线的第一个点)
3.输入下一个点(指定autocad2013样条曲线控制点,用来调节曲线弧度)
4.输入下一个点(指定autocad2013样条曲线控制点,用来调节曲线弧度)
重复单击确定控制点,来绘制样条曲线。
5.结束绘制按空格键,autocad2013绘制的样条曲线如图:
1.横着画一条2mm的直线,然后在这个横线的中点上画一条2mm的竖线。
2.然后用SPLINE(样条曲线)命令,然后按下图这样选点之后,就能画出正弦波的正半周。
3.然后再把画好的曲线复制,镜像一个负半周出来就OK了。
用cad绘制曲线的方法
1.单击autocad2013工具栏“绘图”按钮;从弹出的菜单中选择“样条曲线控制点”;或执行命令:spline
2.autocad2013命令提示:
指定第一个点(指定样条曲线的第一个点)
3.输入下一个点(指定autocad2013样条曲线控制点,用来调节曲线弧度)
4.输入下一个点(指定autocad2013样条曲线控制点,用来调节曲线弧度)
重复单击确定控制点,来绘制样条曲线。
5.结束绘制按空格键,autocad2013绘制的样条曲线如图:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
打开CAD,依次点击菜单“工具→AutoLISP→Visual LISP编辑器”,新建文件,输入以下代码:
(defun C:drawsin (/ LeftPoint LeftPointX LeftPointY N x step) (initget 1) ;1化为8位二进制是00000001,位0置1表示禁止用户仅按 ENTER 键来响应输入请求
(setq LeftPoint (getpoint "\nLeft point:") LeftPointX (car LeftPoint) LeftPointY (cadr LeftPoint)) (initget 7) ;7化为8位二进制是00000111,位1置1表示禁止用户输入零值来响应输入请求,位2置1表示禁止用户输入负值来响应输入请求
(setq N (getint "\nNumber of cyles:")) (setq x 0 step 0.1) (command "pline" ) (While (< x (* 2 N pi))
(command (list (+ LeftPointX x) (+ LeftPointY (sin x))));以LeftPoint为原点,逐点画出正弦曲线 (setq x (+ x step)) ;x=x+step,横坐标增加步长值 )
(command (list (+ LeftPointX x) (+ LeftPointY (sin x))) (list (+ LeftPointX (* 2 N pi)) LeftPointY) "")
(command "line" LeftPoint (list (+ LeftPointX (* 2 N pi)) LeftPointY) "") ;画x轴 (command "line" (list LeftPointX (+ LeftPointY 2)) (list LeftPointX (- LeftPointY 2)) "") ;画y轴)
保存为 drawsine.lsp 文件,按 Ctrl+Alt+E,Visual LISP 控制台将显示类似于:“; 1 表格 从 #<editor "E:/AutoCAD 2004/Sample/VisualLISP/drawsine.LSP"> 加载”的文字,并且焦点自动切换到 Visual LISP 控制台。输入(C:drawsin)回车或者在CAD输入drawsin命令即可运行这个函数。如果函数定义中没有“C:”则只能在Visual LISP 控制台调用。函数运行后,用鼠标在CAD的活动窗口指定坐标原点,然后在控制台输入要画的正弦曲线的周期数,即可画出这条曲线。
我把某教程中有bug的一段程序改好后就是这个了,中文的注释和操作步骤都是我自己写的。感觉这段程序比较典型、有用,因为把 sin(x) 换成其他函数就可以画出它们的图像了。
(defun C:drawsin (/ LeftPoint LeftPointX LeftPointY N x step) (initget 1) ;1化为8位二进制是00000001,位0置1表示禁止用户仅按 ENTER 键来响应输入请求
(setq LeftPoint (getpoint "\nLeft point:") LeftPointX (car LeftPoint) LeftPointY (cadr LeftPoint)) (initget 7) ;7化为8位二进制是00000111,位1置1表示禁止用户输入零值来响应输入请求,位2置1表示禁止用户输入负值来响应输入请求
(setq N (getint "\nNumber of cyles:")) (setq x 0 step 0.1) (command "pline" ) (While (< x (* 2 N pi))
(command (list (+ LeftPointX x) (+ LeftPointY (sin x))));以LeftPoint为原点,逐点画出正弦曲线 (setq x (+ x step)) ;x=x+step,横坐标增加步长值 )
(command (list (+ LeftPointX x) (+ LeftPointY (sin x))) (list (+ LeftPointX (* 2 N pi)) LeftPointY) "")
(command "line" LeftPoint (list (+ LeftPointX (* 2 N pi)) LeftPointY) "") ;画x轴 (command "line" (list LeftPointX (+ LeftPointY 2)) (list LeftPointX (- LeftPointY 2)) "") ;画y轴)
保存为 drawsine.lsp 文件,按 Ctrl+Alt+E,Visual LISP 控制台将显示类似于:“; 1 表格 从 #<editor "E:/AutoCAD 2004/Sample/VisualLISP/drawsine.LSP"> 加载”的文字,并且焦点自动切换到 Visual LISP 控制台。输入(C:drawsin)回车或者在CAD输入drawsin命令即可运行这个函数。如果函数定义中没有“C:”则只能在Visual LISP 控制台调用。函数运行后,用鼠标在CAD的活动窗口指定坐标原点,然后在控制台输入要画的正弦曲线的周期数,即可画出这条曲线。
我把某教程中有bug的一段程序改好后就是这个了,中文的注释和操作步骤都是我自己写的。感觉这段程序比较典型、有用,因为把 sin(x) 换成其他函数就可以画出它们的图像了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(defun c:sinx();;绘制y=sinx曲线
(setq x (* pi -2))
(setq zL (* pi 2));;周期
(setq n1 (getint "等分数<默认:100>: "))
(if (null n1)(setq n1 100))
(setq x1 (/ zL n1));;增量
(setvar "osmode" 0 )
(command "pline")
(while (<= x (* pi 2))
(command (list x (sin x)))
(setq x (+ x x1))
)
(command "");;结束多段线
)
(defun c:cosx();;绘制y=cosx曲线
(setq x (* pi -2))
(setq zL (* pi 2));;周期
(setq n1 (getint "等分数<默认:100>: "))
(if (null n1)(setq n1 100))
(setq x1 (/ zL n1));;增量
(setvar "osmode" 0 )
(command "pline")
(while (<= x (* pi 2))
(command (list x (cos x)))
(setq x (+ x x1))
)
(command "");;结束多段线
)
(setq x (* pi -2))
(setq zL (* pi 2));;周期
(setq n1 (getint "等分数<默认:100>: "))
(if (null n1)(setq n1 100))
(setq x1 (/ zL n1));;增量
(setvar "osmode" 0 )
(command "pline")
(while (<= x (* pi 2))
(command (list x (sin x)))
(setq x (+ x x1))
)
(command "");;结束多段线
)
(defun c:cosx();;绘制y=cosx曲线
(setq x (* pi -2))
(setq zL (* pi 2));;周期
(setq n1 (getint "等分数<默认:100>: "))
(if (null n1)(setq n1 100))
(setq x1 (/ zL n1));;增量
(setvar "osmode" 0 )
(command "pline")
(while (<= x (* pi 2))
(command (list x (cos x)))
(setq x (+ x x1))
)
(command "");;结束多段线
)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
画一个螺旋线,调整螺距,在过轴线的任意平面投影就是正弦曲线
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |