关于polar函数的角度问题
本帖最后由 shichenxi 于 2011-4-29 13:42 编辑实现三维参数化建模,这个是一个部件的俯视图,然后要进行拉伸,生成部件。我对polar函数的确定角度搞不清楚,当我在程序的运行的时候,他不在y方向画图,不知道是不是我的程序写错了?下面是我的程序
(defun cg ()
(setq sp (getpoint"\n请输入起点:"))
(setq p11 sp)
(setq pl (getdist"\n部件长度(z方向):"))
(setq pw (getdist"\n部件宽度(y方向):"))
(setq pt (getdist"\n部件厚度(x方向):"))
(setq p12 (polar p11 (dtr 360) pt))
(setq p13 (polar p12 (dtr 90) (- pw 17)))
(setq p14 (polar p13 (dtr 180) 9))
(setq p15 (polar p14 (dtr 90) 10))
(setq p16 (polar p15 (dtr 360) 5))
(setq p17 (polar p16 (dtr 90) 7))
(setq p18 (polar p17 (dtr 180) pt))
(setq tp (getvar "thickness"))
(setvar "thickness" pl)
(command "line" p11 p12 p13 p14 p15 p16 p17 p18 "c")
(setvar "thickness" tp)
(command "3dface" p11 p12 p13 p14 p15 p16 p17 p18 "")
)
(defun dtr (a)
(* pi (/ a 180))
)
http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 shichenxi的微博 先关闭捕捉再试 本帖最后由 pengq2010 于 2011-4-29 17:11 编辑
(polar pt ang dist)
参数
pt
二维或三维点。
ang
以弧度为单位的角度值,它是相对于当前构造平面 X 轴按逆时针方向计算的。
dist
与指定点 pt 的距离。
返回值
根据 pt 指定点的类型,返回二维或三维点。
示例
为 polar 提供一个三维点:
命令: (polar '(1 1 3.5) 0.785398 1.414214)
(2.0 2.0 3.5)
为 polar 提供一个二维点:
命令: (polar '(1 1) 0.785398 1.414214)
(2.0 2.0)
本帖最后由 pengq2010 于 2011-4-29 17:10 编辑
我说的也不对,正在调试中。可以实现。
回复 pengq2010 的帖子
我主要是那个角度确定觉得很混,搞不清楚
回复 pengq2010 的帖子
比如说那个12 点到底和11点之间的角度是多少度,是180还是360,还是什么 本帖最后由 pengq2010 于 2011-4-29 17:25 编辑
(defun c:cg (/ os sp p11 pz py px p12 p13 p14 p15 p16 p17 p18 tp)
(setq os(getvar"osmode"));保存 捕捉对象 设置值
(setvar "osmode" 0);开启 对象捕捉
(setq sp (getpoint"\n请输入起点:"))
(setq p11 sp)
(setq pz (getdist"\n部件长度(z方向):"))
(setq py (getdist"\n部件宽度(y方向):"))
(setq px (getdist"\n部件厚度(x方向):"))
(setq p12 (polar p11 0 px))
(setq p13 (polar p12 (/ pi 2)(- py 17)))
(setq p14 (polar p13 pi 9))
(setq p15 (polar p14 (/ pi 2) 10))
(setq p16 (polar p15 0 5))
(setq p17 (polar p16 (/ pi 2) 7))
(setq p18 (polar p17 pi (- px 4)))
(setq tp (getvar "thickness"))
(setvar "thickness" pl)
(command "line" p11 p12 p13 p14 p15 p16 p17 p18 "c")
(setvar "thickness" tp)
(setvar "osmode" os);恢复 对象捕捉初始值
)
回复 shichenxi 的帖子
弧度值 11到12是 0
12到13是 (/ pi 2) 回复 pengq2010 的帖子
恩,是可以啦!谢谢! 回复 shichenxi 的帖子
跟数学里计算一样。
页:
[1]
2