马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 newer 于 2014-9-22 21:22 编辑
看了这几天几位大师的程序,感觉到几何库太强大了,看了2天,现在说点心得。
关于构造函数 xdge::constructor 构造 kRay3d,kLine3d,kLineSeg3d 的不同。
kRay3d 构造出的是 射线实体的几何模型。
AcGeRay3d 建构器和析构器 AcGeRay3d::AcGeRay3d Function AcGeRay3d( const AcGePoint3d& pnt1, const AcGePoint3d& pnt2); pnt1 | 输入射线的起点
| pnt2
| 输入任意不同于pnt1的3D点
|
建构一条起点为pnt1并通过点pnt2的射线。点pnt1必须不同于点pnt2。 AcGeRay3d( const AcGePoint3d& pnt, const AcGeVector3d& vec); pnt
| 输入射线的起点
| vec
| 输入射线的方向矢量
|
建构一条起点是pnt且方向是vec的射线。vec必须为非零矢量。 AcGeRay3d( const AcGeRay3d& line); 建构一条作为输入射线拷贝的3D射线。 AcGeRay3d(); 默认建构器。建构一条起点是(0,0,0)且方向是(1,0,0)的射线(即是X轴正方向)。
|
看下面演示:
- (defun c:tt ()
- (if (and
- (setq p1 (getpoint "\n第一点<退出>:"))
- (setq p2 (getpoint p1 "\n第二点<退出>:"))
- (setq ge (xdge::constructor "kRay3d" p1 p2))
- )
- (progn
- (xdge::entity:make ge)
- (xdge::free)
- )
- )
- (princ)
- )
kLine3d 构造出的是 XLINE 的几何模型,
AcGeLine3d 建构器和析构器 AcGeLine3d::AcGeLine3d Function AcGeLine3d( const AcGePoint3d& pnt1, const AcGePoint3d& pnt2); pnt1 | 输入任意的3D点
| Pnt2
| 输入不同于点pnt1任意的3D点
|
通过点pnt1和pnt2建构一条无限的直线。点pnt1和pnt2必须是不同点。 AcGeLine3d( const AcGePoint3d& pnt, const AcGeVector3d& vec); pnt
| 输入任意的3D点
| vec
| 输入任意的3D矢量
|
通过点pnt和方向矢量vec建构一条无限的直线。vec必须是非零长度的矢量。 AcGeLine3d( const AcGeLine3d& line); 建构一条作为输入直线拷贝的无限3D直线。 AcGeLine3d(); 默认建构器。建构一条与X轴相同无限直线。
|
看下面演示:
- (defun c:tt ()
- (if (and
- (setq p1 (getpoint "\n第一点<退出>:"))
- (setq p2 (getpoint p1 "\n第二点<退出>:"))
- (setq ge (xdge::constructor "kLine3d" p1 p2))
- )
- (progn
- (xdge::entity:make ge)
- (xdge::free)
- )
- )
- (princ)
- )
kLineSeg3d 构造出的是LINE的几何模型,
AcGeLineSeg3d建构器和析构器 AcGeLineSeg3d::AcGeLineSeg3d Function AcGeLineSeg3d( const AcGePoint3d& pnt1, const AcGePoint3d& pnt2); 建构一条从pnt1到pnt2的线段. 但pnt1和pnt2 不能重合。 AcGeLineSeg3d(); 缺省建构器。建构一条从(0,0,0) 到 (1,0,0)的线段. AcGeLineSeg3d( const AcGePoint3d& pnt, const AcGeVector3d& vec); pnt
| 输入线段的起点
| vec
| 输入一个在起点和终点之间的向量
|
建够一条以pnt为起点pnt+vec为终点的线段。vec长度非零. AcGeLineSeg3d( const AcGeLineSeg3d& line); 建构一个拷贝输入线段的3D线段。
|
看下面演示:
- (defun c:tt ()
- (if (and
- (setq p1 (getpoint "\n第一点<退出>:"))
- (setq p2 (getpoint p1 "\n第二点<退出>:"))
- (setq ge (xdge::constructor "kLineSeg3d" p1 p2))
- )
- (progn
- (xdge::entity:make ge)
- (xdge::free)
- )
- )
- (princ)
- )
构造出上述实体的几何模型后,就可以用下面丰富的函数做我们想做的事了。
|