明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2063|回复: 6

[基础] lisp中如何把坐标转换下?

[复制链接]
发表于 2010-10-26 18:11 | 显示全部楼层 |阅读模式

编写了一个画漏斗的程序,画完之后是世界坐标系吧,所以这个图看起来就不是立体的,但我是想要看起来是立体的,所以在lisp中加了一句

(COMMAND "VPOINT" "10,5,10") 但画完之后,坐标系统是这样的

                                                       /|\ Z

                                                        |

                                                        |______y

                                                       /

                                                      /x

但我的漏斗计算的时候y轴是向上的,也就是是想这样来表示,

                                                       /|\ y

                                                        |

                                                        |______x

                                                       /

                                                      /z

那么在lisp中应该如何添加语句啊?谢谢

发表于 2010-10-26 18:35 | 显示全部楼层
首先,这个漏斗程序要放在这里大家能看见,呵呵!!!
 楼主| 发表于 2010-10-26 18:59 | 显示全部楼层
  1. (defun C:F()
  2. ;(COMMAND "LIMITS" "-0.3,0" "0.3,1.2")
  3. (COMMAND "VPOINT" "10,5,10")
  4. (COMMAND "SURFTAB1" 1000)
  5. (SETQ D 0.001 DD 0.001 S 10)
  6. (COMMAND "ERASE" "ALL" "")
  7. (setq F1 (open"g:/base_case_spheresandhopper.dat" "r"))
  8. ;;逐行读入
  9.     (setq STR (read-line F1))
  10.     ;(princ"\n")
  11. ;(princ STR)
  12.     ;(setq str1 (str-th str '(("," " "))))
  13.     (setq LST1 (read (strcat "(" STR ")")))
  14. (princ LST1)
  15. (setq STR (read-line F1))
  16.     (setq LST2 (read (strcat "(" STR ")")))
  17. (princ LST2)
  18. (setq STR (read-line F1))
  19.     (setq LST3 (read (strcat "(" STR ")")))
  20. (princ LST3)
  21. (setq STR (read-line F1))
  22.     (setq LST4 (read (strcat "(" STR ")")))
  23. (princ LST4)
  24. (setq STR (read-line F1))
  25.     (setq LST5 (read (strcat "(" STR ")")))
  26. (princ LST5)
  27. (setq STR (read-line F1))
  28.     (setq LST6 (read (strcat "(" STR ")")))
  29. (princ LST6)
  30. (setq STR (read-line F1))
  31.     (setq LST7 (read (strcat "(" STR ")")))
  32. (princ LST7)
  33. (setq STR (read-line F1))
  34.     (setq LST8 (read (strcat "(" STR ")")))
  35. (princ LST8)
  36. (setq STR (read-line F1))
  37.     (setq LST9 (read (strcat "(" STR ")")))
  38. (princ LST9)
  39. (setq STR (read-line F1))
  40.     (setq LST10 (read (strcat "(" STR ")")))
  41. (princ LST10)
  42. (setq STR (read-line F1))
  43.     (setq LST11 (read (strcat "(" STR ")")))
  44. (princ LST11)
  45. (setq STR (read-line F1))
  46.     (setq LST12 (read (strcat "(" STR ")")))
  47. (princ LST12)
  48. (COMMAND "COLOR" 130)
  49. (COMMAND "CYLINDER" LST1 D "C" LST2)
  50. (COMMAND "CYLINDER" LST1 D "C" LST4)
  51. (COMMAND "CYLINDER" LST1 D "C" LST5)
  52. (COMMAND "CYLINDER" LST1 D "C" LST9)
  53. (COMMAND "CYLINDER" LST2 D "C" LST3)
  54. (COMMAND "CYLINDER" LST2 D "C" LST6)
  55. (COMMAND "CYLINDER" LST2 D "C" LST10)
  56. (COMMAND "CYLINDER" LST3 D "C" LST4)
  57. (COMMAND "CYLINDER" LST3 D "C" LST7)
  58. (COMMAND "CYLINDER" LST4 D "C" LST8)
  59. (COMMAND "CYLINDER" LST5 D "C" LST6)
  60. (COMMAND "CYLINDER" LST5 D "C" LST8)
  61. (COMMAND "CYLINDER" LST5 D "C" LST11)
  62. (COMMAND "CYLINDER" LST6 D "C" LST7)
  63. (COMMAND "CYLINDER" LST6 D "C" LST12)
  64. (COMMAND "CYLINDER" LST7 D "C" LST8)
  65. (COMMAND "CYLINDER" LST9 D "C" LST10)
  66. (COMMAND "CYLINDER" LST9 D "C" LST11)
  67. (COMMAND "CYLINDER" LST10 D "C" LST12)
  68. (COMMAND "CYLINDER" LST11 D "C" LST12)
  69. )
 楼主| 发表于 2010-10-26 19:34 | 显示全部楼层

没人回复啊???

发表于 2010-10-27 05:49 | 显示全部楼层
本帖最后由 作者 于 2010-10-27 6:24:50 编辑

我经常做三维的程序,都是用三维等轴测图来显示立体,四个方向的三维等轴测图一般就名够用了,置图形的三维直观观察方向VPOINT我是从没用过,控制观察视图的方向的矢量应该有点麻烦,只有选择合适的点坐标来控制矢量方向。你还得用(COMMAND "VPOINT" "10,5,10"),改变里面的坐标点来改变观察方向。

 

如果在当前坐标系是由(COMMAND "VPOINT" "10,5,10") 控制不改变的情况下,用下面的语句

 

(command "UCS" "3" "0,0,0" "0,1,0" "0,0,1")可以变成你想要的坐标系。但这样只是改变了坐标系,可能还是看不到具有立体效果的图,可不可以用(command "-view" "swiso" ) ;切换为西南等轴测

或:(command "-view" "seiso" )

      (command "-view" "neiso" )

      (command "-view" "nwiso" ) 中选一个的方法来改变视角?

 

仅供参考!

发表于 2010-10-27 22:20 | 显示全部楼层
(COMMAND "VPOINT" "1,-1,4")
 楼主| 发表于 2010-11-3 16:16 | 显示全部楼层
xhq1954425发表于2010-10-27 5:49:00我经常做三维的程序,都是用三维等轴测图来显示立体,四个方向的三维等轴测图一般就名够用了,置图形的三维直观观察方向VPOINT我是从没用过,控制观察视图的方向的矢量应该有点麻烦,只有选择合

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-6-1 21:24 , Processed in 0.166427 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表