明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4950|回复: 9

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

[复制链接]
发表于 2014-5-12 17:43:16 | 显示全部楼层 |阅读模式
vlax-curve-getstartpoint,vlax-curve-getendpoint是获取多段线起始点函数,请教修改起始点函数是什么?
发表于 2014-5-12 19:08:11 来自手机 | 显示全部楼层
vLa—PuT Obj
发表于 2014-5-12 21:38:57 | 显示全部楼层
来个例子:
  1. (defun c:tt nil
  2. (setq obj(vlax-ename->vla-object (car(entsel "\n选择非闭合多段线")))
  3.       pt0 (getpoint "\n指定新的起点")
  4.       en_pt(getpoint "\n指定新的终点")
  5.       vb_pt0(vlax-safearray-fill(vlax-make-safearray vlax-vbdouble '(0 . 1)) (list(car pt0)(cadr pt0)))
  6.       vb_endpt(vlax-safearray-fill(vlax-make-safearray vlax-vbdouble '(0 . 1)) (list(car en_pt)(cadr en_pt)))
  7.       end_pt0(vlax-curve-getendPoint obj)
  8.       end_index(fix (vlax-curve-getParamAtPoint obj end_pt0))
  9.       )
  10. (and obj vb_pt0 (vla-put-Coordinate obj 0 vb_pt0))
  11. (and obj vb_endpt (vla-put-Coordinate obj end_index vb_endpt))
  12. )
 楼主| 发表于 2014-5-13 13:37:46 | 显示全部楼层
edata 发表于 2014-5-12 21:38
来个例子:

非常感谢!
发表于 2014-5-13 14:43:06 | 显示全部楼层
其中也可以用
  1. (fix (vlax-curve-getendParam obj))
来直接获取最终点索引,也可以用来确定点的数量,但是得先用(vlax-curve-isClosed obj)判断是否闭合,闭合的话需要
  1. (fix (1- (vlax-curve-getendParam obj)))
,不然和起点是一个点。
 楼主| 发表于 2014-5-14 10:48:01 | 显示全部楼层
edata 发表于 2014-5-13 14:43
其中也可以用来直接获取最终点索引,也可以用来确定点的数量,但是得先用(vlax-curve-isClosed obj)判断是否 ...

我主要针对不闭合的多段线
发表于 2014-5-14 12:26:39 | 显示全部楼层
谢谢楼主分享,辛苦了!
发表于 2016-1-23 10:10:13 | 显示全部楼层
edata 发表于 2014-5-12 21:38
来个例子:

能问一下闭合的多段线这个程序应该怎么修改?
发表于 2021-9-26 17:43:23 | 显示全部楼层
收藏学习了!
发表于 2022-11-19 20:54:25 | 显示全部楼层

收藏学习了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 02:20 , Processed in 0.165412 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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