QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2646|回复: 4
收起左侧

[已解决] OSD Modeling Lisp问题一

[复制链接]
发表于 2008-11-8 22:27:16 | 显示全部楼层 |阅读模式 来自: 中国广东佛山

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
查看几个modeling add-on lisp,看到里面经常使用到以下语句:- r9 k) ~, Q9 y$ m/ k( D" j' @' z. u
(in-package :custom)
3 Y  o4 L+ Q& [9 K. j9 A. z! O(use-package : oli)
7 L$ f0 n$ c: i(use-package :elan-ui)
4 x. q1 @8 k( m' u: ^! y+ ]是什么意义?为什么要用到这语句?
! n3 Q. a5 T: q1 f, e
0 u& [% A6 R) Y1 e1 [8 ~* L另外gpntwc的意义和用法是?
发表于 2008-11-10 16:53:29 | 显示全部楼层 来自: 中国广东深圳
in-package是表示你下面的代码在那个包里面(姑且这么认为吧),变量就在相应的namespace中,这个名称可以随便定义咯,只要不冲突。
3 U' \1 E/ V2 S0 K1 e1 d7 {use-packge :oli是OSD Lisp必备,即引用OSD内部的lisp函数。
0 w& E- ?/ W6 @( T, e& w! suse-package :elan-ui这个不清楚,可能是引用其他人写的package吧
: A3 m9 S: a3 j2 \1 S" R7 C/ j, bgpntwc?不清楚,不过gpnt2d或者gpnt3d指的是二维点和三维点(x,y) (x,y,z),OSD定义的数据类型.8 R% v2 x" Q& h! j( [
/ s/ U+ T% S% ^# f% P6 t% d
[ 本帖最后由 sytgos 于 2008-11-10 19:12 编辑 ]

评分

参与人数 1三维币 +5 收起 理由
sytgos + 5 应助

查看全部评分

 楼主| 发表于 2008-11-10 21:43:57 | 显示全部楼层 来自: 中国广东佛山
我看过一些add-on的lisp,可以直接拿到osd运行,查看lisp里面就有用到(in-package :custom),按alexsum的解析,这个包应该是osd里面有的吧?(use-package :elan-ui)同前者,应该不会是其他人写的package。
3 ?& f/ y3 h; n7 q! T
# Q: t# @1 I( o; o" _- o- A' b+ X7 {另,看gpntwc在lisp的出现如: gpntw(3.12451245 4.12452452 4.75215571 "vport1"); q6 `) c6 |$ `8 D  ^
猜想应该是绝对坐标点,但我对里面的坐标值觉的很怪,一般我们用create-->workplane-->new出现的workplane应该是经过绝对坐标z=0的平面,为什么看数值没个为0的?( B# K) p  v# {% f& E) W
0 m* |4 X1 i  C& @1 D8 ^* z
还有,对与osd内部的函数库是不是可以理解为package,osd有多少个package?分别是?4 @" ?+ p& l, }& o' v

  H2 l  H& L1 ^9 u/ o2 Z) A2 c最后,setf和setq的区别是?
发表于 2008-11-18 09:57:44 | 显示全部楼层 来自: 中国广东深圳
不是,use-packege指的是你写程序所在的包,不是osd自带的bao如如果你写了一个lisp文件用的pakage是custom1,接着又写了一个lisp文件用的是custom2,那么你可以在custom2中使用这样的语句来引用custom1中的东西如custom1::functionsxxx,同样也可以在custom1中用custom2::functionxxx来引用custom2中的函数,前提是把相应的lisp文件加载进去了并且用use-package custom1或者use-package custom2的语句。9 A! {7 w! E+ `* T! U; B
至于elan-ui,我看了一下,应该不是其他人写的啦,可能是osd界面包(猜测)。
/ q1 T* f5 e2 b% _9 P; m# n一般来说use-pakege oli就足够了,其他的我也不清楚。1 F1 S: {; l' N' j
我看了,gpntwc是带着ViewPort选择的gpnt3d应该,没有z的会自动变成0的吧。  w, k# Z- Y1 }/ e8 W$ ?% t
在osd lisp中基本上setf和setq差不多的,局部变量建议用let。

评分

参与人数 1三维币 +5 收起 理由
sytgos + 5 应助

查看全部评分

 楼主| 发表于 2008-11-18 19:55:50 | 显示全部楼层 来自: 中国广东佛山
大概了解了,还是要感谢alexsun的解答,我再仔细研究一下...........
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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