AUTO_CAD_中如何画螺旋线

AUTO CAD 中如何画螺旋线?(请教思路) 中如何画螺旋线?(请教思路) ?(请教思路 回答:1 浏览:472 AUTO CAD 中如何画螺旋线?(请教思路) 最好有几个步骤,请用中文!

10 分

提问时间:2005-05-11 01:32

最佳答案 此答案由提问者自己选择,并不代表爱问知识人的观点

揪错 ┆ 评论

wang [先知] 1、打开CAD后,找工具/AUTOLISP/VISUAL 2、然后输入 (defun c:luoxuan (/) (setq b1 (getpoint "请指定螺旋线基点: ")) (setq r (getreal "请输入螺纹平均半径: ")) (setq disp (getreal "请输入螺纹节距: ")) (setq n (getint "请输入每圈细化段数: ")) (setq delta (/ (* 2.0 pi) n)) (setq j (/ disp n)) (setq bb (caddr b1)) (setq ang 0) (setq jj 0) (Command "UCS" "o" b1) (Command "3dpoly" (list r 0 0)) (repeat n (setq jj(+ jj 1) (setq ang(+ delta ang)) (setq pt2(list (* r (cos ang)) (* r (sin ang)) (+ 0 (* j jj)))) (Command pt2) ) (Command "") ) 存盘为 luoxuan.lsp,关闭编辑器 3、要用时,点工具/AUTOLISP/加载,找到 luoxuan.lsp 文件将其加载,关闭对话框.在命令行输 入 luoxuan 回车,就开始了螺旋线的绘制 (摘自:http://www.laohu.net/bbs/dispbbs.asp? boardID=8&RootID=31787&ID=31960) LISP编辑器,打开.点新建文件

如何绘制三维螺旋线(3dspiral)和平面螺旋线即阿基米德螺旋线(spiral): ①将 Autodesk 公司网站 http://www.icad.com.cn/icad/share/autocadtool.htm 打开上述网页,点击其中的:3dspiral.zip 用于螺旋线的绘制上的可下载软件:“3dspiral.Lsp” 复制到自己计算机硬盘下的“某”文件夹中; ②打开 AutoCADR14 或 R2000 绘图界面,利用 tool 下拉式菜单(Autolisp)load Application 命 令加载(Load)“3dspiral.Lsp”应用软件程序; ③人工键入命令(Command): 3dspiral (按回车键)---绘制三维螺旋线; spiral (按回车键)---绘制二维螺旋线(即阿基米德螺旋线) ④按照自己的设计意图可连续回答该软件设置的 6 项提问后,就能画出较理想的各种螺旋线: 即绘制弹簧的路径(Path)。 运行 3dspiral 命令后,会陆续出现以下 6 个提问: 6 项提问分别是: 1.螺旋线起始的中心坐标; 2.起始的半径值; 3.螺旋线的圈数; 4.螺旋线水平(HOR)方向变化的螺距(柱状螺旋线为 0;宝塔形螺旋线有±之分) ; 5.螺旋线垂直(VER)方向变化的螺距 (若输入 0,就是平面螺旋线) ; 6.每条螺旋线的近似线数(默认为 30;数值愈大,近似程度愈高) 。 小议: 1.该软件最大的特点是操作简便,通俗易懂; 2.能画材料为圆形截面的各类尺寸形状的弹簧本体(无论是柱状还是宝塔状) ; 3.设计完整弹簧还需继续画出弹簧的尾扣部分(无论是压簧还是拉簧) ; 4.非圆截面(矩形、棱形、梯形)的弹簧用此

方法绘制是不可行的; 5.普通螺纹和梯形螺纹的螺旋面用此方法绘制也是不可行的; 6.用此方法绘制的普通弹簧形状十分逼真、“准确”,尤其是赋予着色、渲染后,在三维立体 装配图中几乎可以达到“以假乱真”的地步。 但是从该立体弹簧上不能“提取”任何有用的平面 元素(包括各种剖切面) ,原因就是我们熟悉的各种弹簧的二维平面视图是机械制图国家标 准规定的“简易画法”;更何况参数化绘制的弹簧也是一种近似的方法。

画螺旋线的好方法

将下列程序复制到工具/Autolisp/visual lisp 编辑器,然后粘贴保存为 lisp 源文件类型,要用时只 需加载该程序(工具/加载应用程序)用是只需用命令:SPL

(defun C:SPL (/ SD ED THS TAS NVS STEP X Y Z R A H) (setq SD (/ (getreal "螺旋起始直径: ") 2)) (setq ED (/ (getreal "螺旋终点直径: ") 2)) (setq THS (setq TAS (setq NVS (getreal "螺旋总高(每圈高度 X 圈数): ")) (getreal "总角度数(360 X 圈数): ")) (getint "节点数([总角度数/间隔角度]+1): "))

(setq STEP (- NVS 1)) (setq X (/ (- ED SD) STEP)) (setq Y (/ THS STEP)) (setq Z (/ TAS STEP)) (setq R SD) (setq A 0) (setq H 0) (setvar "CMDECHO" 0) (command "3DPOLY" (strcat (rtos R) "

用 EXCEL 将螺旋线的 X、 Z 坐标计算出来, Y、 用“另存为”中的“CSV (逗号分隔) ”格式存盘为.CSV 格式文件,用记事本打开此文件后全部复制。 进入 ACAD 中,在命令行中执行 3DPOLY,需坐标时用 CTRL+V 将数据粘过去就 OK!

用 excel 画螺旋线的话,只要知道 x,y,z,的坐标方程式就很容易画出来了。 也可以不存为 csv 格式, 如果 x 为 A 列, 为 B 列, 为 c 列, D1 输入公式“=a1&","&b1&","&c1”, y z 在 然后拖动到其它行构成如“x,y,z”的点表;复制 D 列的内容; 在 Acad 命令行输入命令“3dpoly”,回车,按“F2”切换至文本屏幕,粘贴,回车 些画法都是近似的,ACAD 的三维螺旋线用 PEDIT 光滑后无法作为拉伸的路径。因此这些螺旋 体都是一段一段的,精度开高一点,文件就比较大了,一般除了做特写,没多少实际意义。 用 INVENTOR 做就太简单了! !

zxdcad 附带了这个的图片 :

有个 lisp 小程序可以画,注意“每圈线段数”输入一个大于 30 的数,才显得圆。 ;; HELIX .LSP 螺旋线生成 (Defun C:Helix (/ p r b a m n x y da dz) (SetQ p (GetPoint "\n 中心点: ") x (Car p) y (Cadr p)

z (Caddr p) r (GetDist p "\n 半径: ") b (GetDist p "\n 总高度: ") a (GetAngle p "\n 起始角: ") m (GetInt "\n 圈数: ") n (GetInt "\n 每圈线段数: ") da (/ (* m 2 Pi) (* m n)) dz (/ b (* m n)) ) (Command "3dpoly") (Repeat (1

+ (* m n)) (Command (Polar (List x y z) a r)) (SetQ a (+ a da) z (+ z dz) ) ) (Command "") (PrinC) )

直接画是很难的.你可以先用“电子表格”按阿基米德螺线公式计算出一列成对的 X、Y 的值。并做成“X,Y” 的形式, 然后复制这一列值, CAD 里画样条时粘贴上去就成了, 在 “电子表格”中取样越细, 画的图越精确, , “电子表格”中取样细不会增加人的工作量的。 2。还可以用 CAXA 画,那更方便。 阿基米德螺旋线 用 autolisp 编程可以实现. (command "pline" ) (setq n 0) (repeat 1000 (command (polar (list 0 0) (/ n 57.3) n)) (setq n (1+ n)) ) (command) 弹簧和螺纹(三维) 1、打开 CAD 后,找工具/AUTOLISP/VISUAL LISP 编辑器,打开.点新建文件 2、然后输入 (defun c:luoxuan (/) (setq b1 (getpoint "请指定螺旋线基点: ")) (setq r (getreal "请输入螺纹平均半径: "))

(setq disp (getreal "请输入螺纹节距: ")) (setq n (getint "请输入每圈细化段数: ")) (setq delta (/ (* 2.0 pi) n)) (setq j (/ disp n)) (setq bb (caddr b1)) (setq ang 0) (setq jj 0) (Command "UCS" "o" b1) (Command "3dpoly" (list r 0 0)) (repeat n (setq jj(+ jj 1) (setq ang(+ delta ang)) (setq pt2(list (* r (cos ang)) (* r (sin ang)) (+ 0 (* j jj)))) (Command pt2) ) (Command "") ) 存盘为 luoxuan.lsp,关闭编辑器 3、 要用时, 点工具/AUTOLISP/加载, 找到 luoxuan.lsp 文件将其加载, 关闭对话框. 在命令行输入 luoxuan 回车,就开始了螺旋线的绘制

Visual LISP 开发三维圆柱螺旋线 (2007-01-25 12:29:42) 标签:螺旋线 visual t1 ii 母线 分类:CAD 开发专题

* 圆柱螺旋线的形成 圆柱螺旋线是技术上应用最广的空间曲线, 其形成如图 1 所示。 一动点 M 沿圆柱的母线 AB 作等速直线运动,而该母线又绕圆柱的轴线作等角速旋转时,点 M 的运动轨迹即为圆柱螺旋线。 * 数学模型 当圆柱螺旋线的轴线与坐标系的 Z 轴重合时, 圆柱螺旋线上动点 M(x,y,z)的参数方程如下: x=rcosα y=rsinα z=±t1*α/(2π) 在参数方程中:r 为圆柱面的半径,α 为螺旋线升角,t1 为导程(即母线 AB 旋转一周时, 动点 M 沿轴线方向上升的距离) ,右旋取正号,左旋取负号。 程序代码

打开 AutoCAD2000 进入 Visual LISP 开发环境,新建一个文件,在 Visual LISP 文本编辑器 窗口进行程序代码编制。 绘制圆柱螺旋线的 AutoLISP 程序代码如下: ; This program is using for drawing a helix (setq (setq (setq (setq (setq (setq (setq (setq (setq (setq b1 r t1 (getpoint "请输入基点:")) (getreal "半径 r=:")) (getreal "节距 t1=:"))

k (getint "段数 k=:")) n (getint "圈数 n=:")) ta j1 a jj ii (/ (* 2 (/ t1 0) 0) 0) "ucs" "o" b1) (list r 0 0)) "3dpoly" k)) 3.14159) k))

(command (command (repeat n (repeat k (setq (setq (setq (setq (setq (setq ) (setq (setq ) (command ii z jj a

(+ (+

jj ta

1)) a)) (cos (sin jj)) x y z)) a))) a)))

x (* r y (* r z p2 (* j1 (list p2) (+ ii

(command

1)) ii))

(* t1 "" )

在电子图版 CAXA 中用公式曲线画好,然后存为 CAD 的 DWG 文件即可!哈哈!这是最省 事的做法!

应该用 lisp 代码比较好,但是好象很多人都不愿学那个

有一种比较简单的办法是用 excel 获得点坐标

1.新建一个 excel 表,a1 单元格中输入 1 2.在 a2 单元格输入公式:=30*SIN(A1*PI()/180)

其中 30 是振幅,a1 是指 a1 单元格,PI()/180 是把弧度转为角度

3.在 a3 单元格输入:=A1&","&B1 为了在输入坐标时要用逗号把数字分开

4.在 b1 单元格中输入 2,,选中 a1-a3 单元格,用句柄拖好 b1-b3

5.选中 a1-b3,用句柄拖到第 360 行

6.选中第三列,复制

7.在 acad 中点选 pline 命令,用鼠标点击命令行,按下"ctrl+V"

祝成功

正确的程序应该是: (defun c:zx(/ a b c x y h os) (setq a 1) (setq b 2) (setq c 3) (setq h 0.01) (setq x 0.0) (setq os (getvar "osmode"))(setvar "osmode" 0) (command "line" "0,0") (while (

这样写更美观、更好懂些(多用个局部变量 p) : (defun c:zx(/ a b c x y h p os) (setq a 1 b 2 c 3 h 0.01 x 0.0) (setq os (getvar "osmode"))(setvar "osmode" 0) (command "line" "0,0") (while (

程序由三部分组成,主体和两个地位相同的子函数(局部的) ,主体完成周期、振幅和起点的输入与分 析计算,子函数 rp 完成正弦函数值的计算并产生所需要的循环画图,子函数 fp 完成坐标值的平移和旋转 变换,并将计算值合成点供 rp 使用: (defun c:sl( / p1 p2 p3 x0 y0 x y a c d f h fp rp) (defun fp(x y / xx yy) (setq xx (- (* x (cos a)) (* y (sin a)))) (setq yy (+ (* x (sin a)) (* y (cos a)))) (list (+ xx x0) (+ yy y0)) ) (defun rp(n dx) (repeat n (setq d (+ d dx) x (* d c) y (sin x) x (* (/ d 180) h) y (* f y)) (command (fp x y)) )

) (setq p1 (getpoint "\n 指定起点") p2 (getpoint p1 "\n 指定终点")) (setq p3 (getpoint p1 "\n 指示振幅") c (/ pi 180)) (setq x0 (car p1) y0 (cadr p1) h (distance p1 p2) a (angle p1 p2)) (setq x (- (car p3) x0) y (- (cadr p3) y0) f (- (* y (cos a)) (* x (sin a)))) (setq d 0.0 p3 (getvar "osmode")) (command "cmdecho" 0 "osmode" 0 "spline" p1) (rp 6 5) (rp 15 2) (rp 60 1) (rp 15 2) (rp 5 5) (command p2 "" "" "" "osmode" p3) (princ) ) 这个程序只完成半个周期的绘制,实际使用中多半只需如此。程序启动后需要输入三个点:起点、终 点和第三点 p1,p2,p3,程序根据 p1,p2 计算半周期,将 p3 到 p1,p2 连线的距离作为振幅,同时 p3 在 p1, p2 连线的哪一边决定了曲线画在 p1,p2 连线的哪一边。所有 CAD 有关点输入的方式与技巧,在

此都适用。 下图是用这个程序产生的螺旋推进器的图:

此主题相关图片如下:

如果使用 CAD 自带的坐标旋转功能, 则程序还可以进一步简化。 另外“sl”与 CAD 的剖切指令的缩写同 名,好在三维指令使用的不多,并且此命令有工具按钮,所以冲突不大,改成其他的名称是很容易的。

EXCEL 中如何画正弦曲线(sinx) 发表于 2007-8-17 15:16:00 回复(1)

fujian1115

同 学 中 午 问 到 一 个 问 题 , 即 EXCEL 中 如 何 画 正 弦 曲 线 ,方 法 解 答 如 下 :

一 设 置 x.y 轴 的 值 x:在 第 一 列 A 中 , 取 A1 到 A361( 不 为 A360) 为 装 载 X 轴 数 值 的 单 元 格 , A1 输 入 0, A2 输 入 =A1+2*PI()/360( 不 能 将 =或 者 *遗 忘 ) ,然 后 拖 动 填 充 可 完 成 数 据输入; y:同 样 取 B1 到 B361, 在 B1 中 输 入 =sin(a1),然 后 拖 动 填 充 至 B361 完 成 数 据 输 入。 二 绘制曲线 选 中 Y 轴 的 所 有 数 据 即 B1 到 B361) 然 后 点 常 用 工 具 栏 里 的 “图 表 向 导 ”按 钮 , ( , 弹 出 对 话 框 , 图 表 类 型 选 择 “XY 散 点 图 ”, 右 边 的 子 图 表 类 型 选 择 “无 数 据 点 平 滑 线 散 点 图 ”,然 后 点 击 完 成 即 可 ,也 可 点 “下 一 步 ”设 置 图 表 上 显 示 X,Y 轴 标 志 的 字样。 说明: 步 骤 一 中 的 单 元 格 列 数 取 360, 是 为 了 在 最 后 的 图 表 中 显 示 0, 360 充 到 度 数 , 如 果 取 40, 100 也 可 以 划 出 曲 线 , 但 横 轴 上 标 注 的 曲 线 X 轴 范 围 是 0-40 和 0-1 00, 而 不 是 0-360; 同 时 取 值 越 多 , 曲 线 越 平 滑 。

步 骤 二 中 的 图 表 类 型 , 也 可 以 选 择 自 定 义 或 者 “XY 散 点 图 ”中 子 类 型 “平 滑 线 散 点 图 ”等 , 只 是 效 果 不 同 。

用 Autolisp 在 AutoCAD 中实现多种曲线的绘制

一、引言: AutoCAD 自 1982 年由 Autodesk 公司推出以来,经历了 20 年的发展更 新,目前,已深入到包括机械、建筑、服装、航天航空、地质气象等等的众 多领域中。AutoCAD 已成为众多工程设计人员的首选设计软件,其格式也 逐渐成为各 CAD 系统间的交换标准。 AutoCAD 之所以有如此广泛的应用,除了其功能强大、易学易用外, 还在于它是一个开放的交互软件,自 85 年推出的 2.17 版中,AutoCAD 就 内嵌了 Autolisp 语言,方便用户对其进行二次开发。自此,便有无数的工程 技术人员成为 Autodesk 公司的编外程序员。 随着 AutoCAD 版本的不断升级, 它所支持的开发环境也不断增加,如:ADS、ARX、Diesel、DCL、 VBA 等等。但由于方便和易学易用,Autolisp 始终是技术人员在开发 AutoCAD 时运用最多的编程语言。 同时也有更多的工程技术人员投入到 Autolisp 的学 习之中来。但是

,毕竟 Autolisp 也是一种编程语言,学习起来远不如学习 AutoCAD 的操作来得简单。 故也有部分技术人员在学习过程中有危难情绪, 针对这一情况, 本人在此通过一种方法、 三个例子来阐述 Autolisp 编程的一 般过程,希望能对 Autolisp 初学者有所帮助。 二、Autolisp 的二次开发: (一) 问题提出: 尽管 AutoCAD 在各个领域中有着广泛的应用,但总不会面面俱到,在 机械行业中,经常要画一些复杂曲线,如:三角函数曲线、渐开线、螺旋线 等等。这些曲线在 AutoCAD 中没有专门的命令,难以用一般的方法绘制, 尽管机械制图国家标准中有用圆弧近似替代渐开线和螺旋线的画法, 但它们 一不准确,不能通过装配干涉,二不方便,需要取很多位置点才能画出。而 用 Autolisp 编程绘制,却能快速准确的得到所需图形。 (二) 曲线绘制: 1、 获取曲线的数学模型: 正弦曲线: x = a y = sin a 渐开线: x = br * (cos a + a sin a) y = br * (sin a + a cos a)

圆柱螺旋线: x = r cos a y = r sin a z = s * a / (2π)

(s 取正值为右旋、取负值为左旋)

AUTO CAD 中如何画螺旋线?(请教思路) 中如何画螺旋线?(请教思路) ?(请教思路 回答:1 浏览:472 AUTO CAD 中如何画螺旋线?(请教思路) 最好有几个步骤,请用中文!

10 分

提问时间:2005-05-11 01:32

最佳答案 此答案由提问者自己选择,并不代表爱问知识人的观点

揪错 ┆ 评论

wang [先知] 1、打开CAD后,找工具/AUTOLISP/VISUAL 2、然后输入 (defun c:luoxuan (/) (setq b1 (getpoint "请指定螺旋线基点: ")) (setq r (getreal "请输入螺纹平均半径: ")) (setq disp (getreal "请输入螺纹节距: ")) (setq n (getint "请输入每圈细化段数: ")) (setq delta (/ (* 2.0 pi) n)) (setq j (/ disp n)) (setq bb (caddr b1)) (setq ang 0) (setq jj 0) (Command "UCS" "o" b1) (Command "3dpoly" (list r 0 0)) (repeat n (setq jj(+ jj 1) (setq ang(+ delta ang)) (setq pt2(list (* r (cos ang)) (* r (sin ang)) (+ 0 (* j jj)))) (Command pt2) ) (Command "") ) 存盘为 luoxuan.lsp,关闭编辑器 3、要用时,点工具/AUTOLISP/加载,找到 luoxuan.lsp 文件将其加载,关闭对话框.在命令行输 入 luoxuan 回车,就开始了螺旋线的绘制 (摘自:http://www.laohu.net/bbs/dispbbs.asp? boardID=8&RootID=31787&ID=31960) LISP编辑器,打开.点新建文件

如何绘制三维螺旋线(3dspiral)和平面螺旋线即阿基米德螺旋线(spiral): ①将 Autodesk 公司网站 http://www.icad.com.cn/icad/share/autocadtool.htm 打开上述网页,点击其中的:3dspiral.zip 用于螺旋线的绘制上的可下载软件:“3dspiral.Lsp” 复制到自己计算机硬盘下的“某”文件夹中; ②打开 AutoCADR14 或 R2000 绘图界面,利用 tool 下拉式菜单(Autolisp)load Application 命 令加载(Load)“3dspiral.Lsp”应用软件程序; ③人工键入命令(Command): 3dspiral (按回车键)---绘制三维螺旋线; spiral (按回车键)---绘制二维螺旋线(即阿基米德螺旋线) ④按照自己的设计意图可连续回答该软件设置的 6 项提问后,就能画出较理想的各种螺旋线: 即绘制弹簧的路径(Path)。 运行 3dspiral 命令后,会陆续出现以下 6 个提问: 6 项提问分别是: 1.螺旋线起始的中心坐标; 2.起始的半径值; 3.螺旋线的圈数; 4.螺旋线水平(HOR)方向变化的螺距(柱状螺旋线为 0;宝塔形螺旋线有±之分) ; 5.螺旋线垂直(VER)方向变化的螺距 (若输入 0,就是平面螺旋线) ; 6.每条螺旋线的近似线数(默认为 30;数值愈大,近似程度愈高) 。 小议: 1.该软件最大的特点是操作简便,通俗易懂; 2.能画材料为圆形截面的各类尺寸形状的弹簧本体(无论是柱状还是宝塔状) ; 3.设计完整弹簧还需继续画出弹簧的尾扣部分(无论是压簧还是拉簧) ; 4.非圆截面(矩形、棱形、梯形)的弹簧用此

方法绘制是不可行的; 5.普通螺纹和梯形螺纹的螺旋面用此方法绘制也是不可行的; 6.用此方法绘制的普通弹簧形状十分逼真、“准确”,尤其是赋予着色、渲染后,在三维立体 装配图中几乎可以达到“以假乱真”的地步。 但是从该立体弹簧上不能“提取”任何有用的平面 元素(包括各种剖切面) ,原因就是我们熟悉的各种弹簧的二维平面视图是机械制图国家标 准规定的“简易画法”;更何况参数化绘制的弹簧也是一种近似的方法。

画螺旋线的好方法

将下列程序复制到工具/Autolisp/visual lisp 编辑器,然后粘贴保存为 lisp 源文件类型,要用时只 需加载该程序(工具/加载应用程序)用是只需用命令:SPL

(defun C:SPL (/ SD ED THS TAS NVS STEP X Y Z R A H) (setq SD (/ (getreal "螺旋起始直径: ") 2)) (setq ED (/ (getreal "螺旋终点直径: ") 2)) (setq THS (setq TAS (setq NVS (getreal "螺旋总高(每圈高度 X 圈数): ")) (getreal "总角度数(360 X 圈数): ")) (getint "节点数([总角度数/间隔角度]+1): "))

(setq STEP (- NVS 1)) (setq X (/ (- ED SD) STEP)) (setq Y (/ THS STEP)) (setq Z (/ TAS STEP)) (setq R SD) (setq A 0) (setq H 0) (setvar "CMDECHO" 0) (command "3DPOLY" (strcat (rtos R) "

用 EXCEL 将螺旋线的 X、 Z 坐标计算出来, Y、 用“另存为”中的“CSV (逗号分隔) ”格式存盘为.CSV 格式文件,用记事本打开此文件后全部复制。 进入 ACAD 中,在命令行中执行 3DPOLY,需坐标时用 CTRL+V 将数据粘过去就 OK!

用 excel 画螺旋线的话,只要知道 x,y,z,的坐标方程式就很容易画出来了。 也可以不存为 csv 格式, 如果 x 为 A 列, 为 B 列, 为 c 列, D1 输入公式“=a1&","&b1&","&c1”, y z 在 然后拖动到其它行构成如“x,y,z”的点表;复制 D 列的内容; 在 Acad 命令行输入命令“3dpoly”,回车,按“F2”切换至文本屏幕,粘贴,回车 些画法都是近似的,ACAD 的三维螺旋线用 PEDIT 光滑后无法作为拉伸的路径。因此这些螺旋 体都是一段一段的,精度开高一点,文件就比较大了,一般除了做特写,没多少实际意义。 用 INVENTOR 做就太简单了! !

zxdcad 附带了这个的图片 :

有个 lisp 小程序可以画,注意“每圈线段数”输入一个大于 30 的数,才显得圆。 ;; HELIX .LSP 螺旋线生成 (Defun C:Helix (/ p r b a m n x y da dz) (SetQ p (GetPoint "\n 中心点: ") x (Car p) y (Cadr p)

z (Caddr p) r (GetDist p "\n 半径: ") b (GetDist p "\n 总高度: ") a (GetAngle p "\n 起始角: ") m (GetInt "\n 圈数: ") n (GetInt "\n 每圈线段数: ") da (/ (* m 2 Pi) (* m n)) dz (/ b (* m n)) ) (Command "3dpoly") (Repeat (1

+ (* m n)) (Command (Polar (List x y z) a r)) (SetQ a (+ a da) z (+ z dz) ) ) (Command "") (PrinC) )

直接画是很难的.你可以先用“电子表格”按阿基米德螺线公式计算出一列成对的 X、Y 的值。并做成“X,Y” 的形式, 然后复制这一列值, CAD 里画样条时粘贴上去就成了, 在 “电子表格”中取样越细, 画的图越精确, , “电子表格”中取样细不会增加人的工作量的。 2。还可以用 CAXA 画,那更方便。 阿基米德螺旋线 用 autolisp 编程可以实现. (command "pline" ) (setq n 0) (repeat 1000 (command (polar (list 0 0) (/ n 57.3) n)) (setq n (1+ n)) ) (command) 弹簧和螺纹(三维) 1、打开 CAD 后,找工具/AUTOLISP/VISUAL LISP 编辑器,打开.点新建文件 2、然后输入 (defun c:luoxuan (/) (setq b1 (getpoint "请指定螺旋线基点: ")) (setq r (getreal "请输入螺纹平均半径: "))

(setq disp (getreal "请输入螺纹节距: ")) (setq n (getint "请输入每圈细化段数: ")) (setq delta (/ (* 2.0 pi) n)) (setq j (/ disp n)) (setq bb (caddr b1)) (setq ang 0) (setq jj 0) (Command "UCS" "o" b1) (Command "3dpoly" (list r 0 0)) (repeat n (setq jj(+ jj 1) (setq ang(+ delta ang)) (setq pt2(list (* r (cos ang)) (* r (sin ang)) (+ 0 (* j jj)))) (Command pt2) ) (Command "") ) 存盘为 luoxuan.lsp,关闭编辑器 3、 要用时, 点工具/AUTOLISP/加载, 找到 luoxuan.lsp 文件将其加载, 关闭对话框. 在命令行输入 luoxuan 回车,就开始了螺旋线的绘制

Visual LISP 开发三维圆柱螺旋线 (2007-01-25 12:29:42) 标签:螺旋线 visual t1 ii 母线 分类:CAD 开发专题

* 圆柱螺旋线的形成 圆柱螺旋线是技术上应用最广的空间曲线, 其形成如图 1 所示。 一动点 M 沿圆柱的母线 AB 作等速直线运动,而该母线又绕圆柱的轴线作等角速旋转时,点 M 的运动轨迹即为圆柱螺旋线。 * 数学模型 当圆柱螺旋线的轴线与坐标系的 Z 轴重合时, 圆柱螺旋线上动点 M(x,y,z)的参数方程如下: x=rcosα y=rsinα z=±t1*α/(2π) 在参数方程中:r 为圆柱面的半径,α 为螺旋线升角,t1 为导程(即母线 AB 旋转一周时, 动点 M 沿轴线方向上升的距离) ,右旋取正号,左旋取负号。 程序代码

打开 AutoCAD2000 进入 Visual LISP 开发环境,新建一个文件,在 Visual LISP 文本编辑器 窗口进行程序代码编制。 绘制圆柱螺旋线的 AutoLISP 程序代码如下: ; This program is using for drawing a helix (setq (setq (setq (setq (setq (setq (setq (setq (setq (setq b1 r t1 (getpoint "请输入基点:")) (getreal "半径 r=:")) (getreal "节距 t1=:"))

k (getint "段数 k=:")) n (getint "圈数 n=:")) ta j1 a jj ii (/ (* 2 (/ t1 0) 0) 0) "ucs" "o" b1) (list r 0 0)) "3dpoly" k)) 3.14159) k))

(command (command (repeat n (repeat k (setq (setq (setq (setq (setq (setq ) (setq (setq ) (command ii z jj a

(+ (+

jj ta

1)) a)) (cos (sin jj)) x y z)) a))) a)))

x (* r y (* r z p2 (* j1 (list p2) (+ ii

(command

1)) ii))

(* t1 "" )

在电子图版 CAXA 中用公式曲线画好,然后存为 CAD 的 DWG 文件即可!哈哈!这是最省 事的做法!

应该用 lisp 代码比较好,但是好象很多人都不愿学那个

有一种比较简单的办法是用 excel 获得点坐标

1.新建一个 excel 表,a1 单元格中输入 1 2.在 a2 单元格输入公式:=30*SIN(A1*PI()/180)

其中 30 是振幅,a1 是指 a1 单元格,PI()/180 是把弧度转为角度

3.在 a3 单元格输入:=A1&","&B1 为了在输入坐标时要用逗号把数字分开

4.在 b1 单元格中输入 2,,选中 a1-a3 单元格,用句柄拖好 b1-b3

5.选中 a1-b3,用句柄拖到第 360 行

6.选中第三列,复制

7.在 acad 中点选 pline 命令,用鼠标点击命令行,按下"ctrl+V"

祝成功

正确的程序应该是: (defun c:zx(/ a b c x y h os) (setq a 1) (setq b 2) (setq c 3) (setq h 0.01) (setq x 0.0) (setq os (getvar "osmode"))(setvar "osmode" 0) (command "line" "0,0") (while (

这样写更美观、更好懂些(多用个局部变量 p) : (defun c:zx(/ a b c x y h p os) (setq a 1 b 2 c 3 h 0.01 x 0.0) (setq os (getvar "osmode"))(setvar "osmode" 0) (command "line" "0,0") (while (

程序由三部分组成,主体和两个地位相同的子函数(局部的) ,主体完成周期、振幅和起点的输入与分 析计算,子函数 rp 完成正弦函数值的计算并产生所需要的循环画图,子函数 fp 完成坐标值的平移和旋转 变换,并将计算值合成点供 rp 使用: (defun c:sl( / p1 p2 p3 x0 y0 x y a c d f h fp rp) (defun fp(x y / xx yy) (setq xx (- (* x (cos a)) (* y (sin a)))) (setq yy (+ (* x (sin a)) (* y (cos a)))) (list (+ xx x0) (+ yy y0)) ) (defun rp(n dx) (repeat n (setq d (+ d dx) x (* d c) y (sin x) x (* (/ d 180) h) y (* f y)) (command (fp x y)) )

) (setq p1 (getpoint "\n 指定起点") p2 (getpoint p1 "\n 指定终点")) (setq p3 (getpoint p1 "\n 指示振幅") c (/ pi 180)) (setq x0 (car p1) y0 (cadr p1) h (distance p1 p2) a (angle p1 p2)) (setq x (- (car p3) x0) y (- (cadr p3) y0) f (- (* y (cos a)) (* x (sin a)))) (setq d 0.0 p3 (getvar "osmode")) (command "cmdecho" 0 "osmode" 0 "spline" p1) (rp 6 5) (rp 15 2) (rp 60 1) (rp 15 2) (rp 5 5) (command p2 "" "" "" "osmode" p3) (princ) ) 这个程序只完成半个周期的绘制,实际使用中多半只需如此。程序启动后需要输入三个点:起点、终 点和第三点 p1,p2,p3,程序根据 p1,p2 计算半周期,将 p3 到 p1,p2 连线的距离作为振幅,同时 p3 在 p1, p2 连线的哪一边决定了曲线画在 p1,p2 连线的哪一边。所有 CAD 有关点输入的方式与技巧,在

此都适用。 下图是用这个程序产生的螺旋推进器的图:

此主题相关图片如下:

如果使用 CAD 自带的坐标旋转功能, 则程序还可以进一步简化。 另外“sl”与 CAD 的剖切指令的缩写同 名,好在三维指令使用的不多,并且此命令有工具按钮,所以冲突不大,改成其他的名称是很容易的。

EXCEL 中如何画正弦曲线(sinx) 发表于 2007-8-17 15:16:00 回复(1)

fujian1115

同 学 中 午 问 到 一 个 问 题 , 即 EXCEL 中 如 何 画 正 弦 曲 线 ,方 法 解 答 如 下 :

一 设 置 x.y 轴 的 值 x:在 第 一 列 A 中 , 取 A1 到 A361( 不 为 A360) 为 装 载 X 轴 数 值 的 单 元 格 , A1 输 入 0, A2 输 入 =A1+2*PI()/360( 不 能 将 =或 者 *遗 忘 ) ,然 后 拖 动 填 充 可 完 成 数 据输入; y:同 样 取 B1 到 B361, 在 B1 中 输 入 =sin(a1),然 后 拖 动 填 充 至 B361 完 成 数 据 输 入。 二 绘制曲线 选 中 Y 轴 的 所 有 数 据 即 B1 到 B361) 然 后 点 常 用 工 具 栏 里 的 “图 表 向 导 ”按 钮 , ( , 弹 出 对 话 框 , 图 表 类 型 选 择 “XY 散 点 图 ”, 右 边 的 子 图 表 类 型 选 择 “无 数 据 点 平 滑 线 散 点 图 ”,然 后 点 击 完 成 即 可 ,也 可 点 “下 一 步 ”设 置 图 表 上 显 示 X,Y 轴 标 志 的 字样。 说明: 步 骤 一 中 的 单 元 格 列 数 取 360, 是 为 了 在 最 后 的 图 表 中 显 示 0, 360 充 到 度 数 , 如 果 取 40, 100 也 可 以 划 出 曲 线 , 但 横 轴 上 标 注 的 曲 线 X 轴 范 围 是 0-40 和 0-1 00, 而 不 是 0-360; 同 时 取 值 越 多 , 曲 线 越 平 滑 。

步 骤 二 中 的 图 表 类 型 , 也 可 以 选 择 自 定 义 或 者 “XY 散 点 图 ”中 子 类 型 “平 滑 线 散 点 图 ”等 , 只 是 效 果 不 同 。

用 Autolisp 在 AutoCAD 中实现多种曲线的绘制

一、引言: AutoCAD 自 1982 年由 Autodesk 公司推出以来,经历了 20 年的发展更 新,目前,已深入到包括机械、建筑、服装、航天航空、地质气象等等的众 多领域中。AutoCAD 已成为众多工程设计人员的首选设计软件,其格式也 逐渐成为各 CAD 系统间的交换标准。 AutoCAD 之所以有如此广泛的应用,除了其功能强大、易学易用外, 还在于它是一个开放的交互软件,自 85 年推出的 2.17 版中,AutoCAD 就 内嵌了 Autolisp 语言,方便用户对其进行二次开发。自此,便有无数的工程 技术人员成为 Autodesk 公司的编外程序员。 随着 AutoCAD 版本的不断升级, 它所支持的开发环境也不断增加,如:ADS、ARX、Diesel、DCL、 VBA 等等。但由于方便和易学易用,Autolisp 始终是技术人员在开发 AutoCAD 时运用最多的编程语言。 同时也有更多的工程技术人员投入到 Autolisp 的学 习之中来。但是

,毕竟 Autolisp 也是一种编程语言,学习起来远不如学习 AutoCAD 的操作来得简单。 故也有部分技术人员在学习过程中有危难情绪, 针对这一情况, 本人在此通过一种方法、 三个例子来阐述 Autolisp 编程的一 般过程,希望能对 Autolisp 初学者有所帮助。 二、Autolisp 的二次开发: (一) 问题提出: 尽管 AutoCAD 在各个领域中有着广泛的应用,但总不会面面俱到,在 机械行业中,经常要画一些复杂曲线,如:三角函数曲线、渐开线、螺旋线 等等。这些曲线在 AutoCAD 中没有专门的命令,难以用一般的方法绘制, 尽管机械制图国家标准中有用圆弧近似替代渐开线和螺旋线的画法, 但它们 一不准确,不能通过装配干涉,二不方便,需要取很多位置点才能画出。而 用 Autolisp 编程绘制,却能快速准确的得到所需图形。 (二) 曲线绘制: 1、 获取曲线的数学模型: 正弦曲线: x = a y = sin a 渐开线: x = br * (cos a + a sin a) y = br * (sin a + a cos a)

圆柱螺旋线: x = r cos a y = r sin a z = s * a / (2π)

(s 取正值为右旋、取负值为左旋)


相关文章

  • 黄金分割在摄影中的应用
  • 黄 金 分 割 在 摄 影 中 的 应 用 学 校:广州大学附属中学 学 生:苏志翔 参赛年级:初中二年级 指导老师:彭 何杰 静 二〇一四年贰月 摘 要 在科技日新月异的时代,摄像机成为我们出行旅游的必备电子产品.手指轻轻一点,将令你感动 ...查看


  • PRO/E如何制作螺旋线
  • 制作螺旋线有下列二个方法:1.formed curve :2.利用方程式(from equation) 一.Formed curve: 1.首先建立缺省的datum plan: 并建立一个参数p,用来控制螺旋圈数(set up/parame ...查看


  • 双节棍如何入门
  • 双节棍如何入门 --简介与经验 双节棍是一种集表演性和实战性于一身的武器.其发源可以追溯到秦汉时期就已经出现的连枷棍.最早有记载的双节棍作为正式武器独立出现的,是宋太祖赵匡胤的三大绝技之一的连枷双节棍,此时的双节棍已经具有现代双节棍的主要特 ...查看


  • 飞机是如何起飞的
  • 飞机从地面滑跑到离地升空,是由于升力不断增大,直到大于飞机重力的结果.而 只有当飞机速度增大到一定时,才可能产生足以支持飞机重力的升力.可见飞机的起飞 是一个速度不断增加的加速过程. : 剩余拉力较小的活塞式螺旋桨飞机的起飞过程,一般可分为 ...查看


  • 木材切削原理与刀具试卷及答案14套
  • 填空(每题5分,共25分) 1.在主截面内度量,刀具前刀面与后刀面夹的角度为( ) ,前刀面与基面夹的角度为 ( ) ,后刀面与切削平面夹的角度为( ) .他们关系可表述为( ) . 2.根据刀刃和切削速度相关于木纤维的方向,木材切削被分为 ...查看


  • 任务一 水准测量仪器和工具的使用工作页
  • 任务一 水准测量仪器和工具的使用 1.能说出水准仪各部件的名称及作用. 2.能将中心连接螺旋顺利旋入基座,松紧度适宜. 3.能安置脚架高度合适.脚架的张开角度适当架头是否大致水平. 4.能转动调焦螺旋并改变望远镜的焦距. 5.能利用目镜对光 ...查看


  • 梅毒血清学试验解读
  • 梅毒血清学试验解读(转载自丁香园网站) 梅毒是由梅毒螺旋体引起的慢性.系统性疾病,近年来在我国增长迅速,已成为报告病例最多的性病.临床上实验室报告可疑梅毒常有筛查和确诊等两个甚至多个试验结果,面对不同试验的不同结果,你是否会正确解读呢? 近 ...查看


  • "孵化器"的孵化--三螺旋理论的解释
  • "孵化器"的孵化 --三螺旋理论的解释 苏竣1,姚志峰2 清华大学公共管理学院 摘 要:本文从三螺旋理论视角分析了孵化器的"孵化"机制.认为孵化器是大学.产业和政府三螺旋系统演化的高级组织形式,并分析 ...查看


  • 音乐[卷炮仗]课后反思
  • 指南指出:在儿童艺术领域学习的关键是创造条件和机会,在自然和社会及文化生活中创造儿童的感受和经验,丰富他们的想象力和创造力,引导孩子学习感觉与他们的心和发现在美国,用自己的方式来展示和创造美.因此,艺术的关键是老师创造条件和机会,孩子们感觉 ...查看


热门内容