马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
 - ;|
- 返回多段线两个顶点索引间,包括索引INX12的所有顶点
- 参数:
- e ---多段线实体名
- inx1 --- 顶点索引1
- inx2 --- 顶点索引2
- inx12 --- 1,2间的任意索引值
- 返回值:
- 之间的所有顶点表
- |;
- (defun XD::Polyline:MidPntAtIndexs (e inx1 inx2 inx12 / i inx3 inxl num p pl)
- (if (and
- (>= inx1 0)
- (>= inx2 0)
- (>= inx12 0)
- )
- (progn
- (setq num (xdrx_polyline_numverts e)
- inxl (vl-sort (list inx1 inx2) '<)
- inx1 (car inxl)
- inx2 (cadr inxl)
- )
- (cond
- ((< inx12 inx2)
- (if (>= inx2 num)
- (setq inx2 num)
- )
- (setq i inx1)
- (repeat (+ 1 (- inx2 inx1))
- (setq p (xdrx_polyline_getpointat e i)
- i (1+ i)
- pl (cons p pl)
- )
- )
- (reverse pl)
- )
- ((= (xdrx_curve_isclosed e) t)
- (setq i inx2)
- (repeat (- num inx2)
- (setq p (xdrx_polyline_getpointat e i)
- i (1+ i)
- pl (cons p pl)
- )
- )
- (setq i 0)
- (repeat (+ 1 inx1)
- (setq p (xdrx_polyline_getpointat e i)
- i (1+ i)
- pl (cons p pl)
- )
- )
- (reverse pl)
- )
- )
- )
- )
- )
|