tanle2020 发表于 2014-5-12 17:43:16

修改多段线起点和终点函数

vlax-curve-getstartpoint,vlax-curve-getendpoint是获取多段线起始点函数,请教修改起始点函数是什么?

自贡黄明儒 发表于 2014-5-12 19:08:11

vLa—PuT Obj

edata 发表于 2014-5-12 21:38:57

来个例子:(defun c:tt nil
(setq obj(vlax-ename->vla-object (car(entsel "\n选择非闭合多段线")))
      pt0 (getpoint "\n指定新的起点")
      en_pt(getpoint "\n指定新的终点")
      vb_pt0(vlax-safearray-fill(vlax-make-safearray vlax-vbdouble '(0 . 1)) (list(car pt0)(cadr pt0)))
      vb_endpt(vlax-safearray-fill(vlax-make-safearray vlax-vbdouble '(0 . 1)) (list(car en_pt)(cadr en_pt)))
      end_pt0(vlax-curve-getendPoint obj)
      end_index(fix (vlax-curve-getParamAtPoint obj end_pt0))
      )
(and obj vb_pt0 (vla-put-Coordinate obj 0 vb_pt0))
(and obj vb_endpt (vla-put-Coordinate obj end_index vb_endpt))
)

tanle2020 发表于 2014-5-13 13:37:46

edata 发表于 2014-5-12 21:38 static/image/common/back.gif
来个例子:

非常感谢!

edata 发表于 2014-5-13 14:43:06

其中也可以用(fix (vlax-curve-getendParam obj))来直接获取最终点索引,也可以用来确定点的数量,但是得先用(vlax-curve-isClosed obj)判断是否闭合,闭合的话需要(fix (1- (vlax-curve-getendParam obj))),不然和起点是一个点。

tanle2020 发表于 2014-5-14 10:48:01

edata 发表于 2014-5-13 14:43 static/image/common/back.gif
其中也可以用来直接获取最终点索引,也可以用来确定点的数量,但是得先用(vlax-curve-isClosed obj)判断是否 ...

我主要针对不闭合的多段线

清风明月名字 发表于 2014-5-14 12:26:39

谢谢楼主分享,辛苦了!

别闹 发表于 2016-1-23 10:10:13

edata 发表于 2014-5-12 21:38 static/image/common/back.gif
来个例子:

能问一下闭合的多段线这个程序应该怎么修改?

趣意人生 发表于 2021-9-26 17:43:23

收藏学习了!

suiran 发表于 2022-11-19 20:54:25


收藏学习了!
页: [1]
查看完整版本: 修改多段线起点和终点函数