shichenxi 发表于 2011-4-29 13:40:14

关于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的微博

Andyhon 发表于 2011-4-29 14:27:02

先关闭捕捉再试

pengq2010 发表于 2011-4-29 16:43:00

本帖最后由 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 16:46:09

本帖最后由 pengq2010 于 2011-4-29 17:10 编辑

我说的也不对,正在调试中。可以实现。

shichenxi 发表于 2011-4-29 17:18:29

回复 pengq2010 的帖子

我主要是那个角度确定觉得很混,搞不清楚

shichenxi 发表于 2011-4-29 17:20:23

回复 pengq2010 的帖子

比如说那个12 点到底和11点之间的角度是多少度,是180还是360,还是什么

pengq2010 发表于 2011-4-29 17:24:34

本帖最后由 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);恢复 对象捕捉初始值
)

pengq2010 发表于 2011-4-29 17:29:48

回复 shichenxi 的帖子

弧度值 11到12是 0
            12到13是 (/ pi 2)

shichenxi 发表于 2011-4-29 23:26:51

回复 pengq2010 的帖子

恩,是可以啦!谢谢!

zark 发表于 2011-4-30 23:51:58

回复 shichenxi 的帖子

跟数学里计算一样。
页: [1] 2
查看完整版本: 关于polar函数的角度问题