yingbuzhe 发表于 2014-3-4 11:37:10

高手指教 修改多线段的顶点坐标

部分代码如下:
红色部分无法实现,我的思路是这样 修改多线段的顶点坐标 从而来修改多线段的面积 newpoint1为在runpoint1附近随机生成的一个点
红色部分就是在ListEnt表中用newpoint1带替代runpoint1,可是有的时候能够实现有时却不行 备注:runpoint1为在多线段上点击取得

(setq NewPoint1 (Point-Rand RunPoint1));;;;;第一个动点
(setq ListEnt (subst (cons 10 NewPoint1) (cons 10 RunPoint1) ListEnt))
(entmod ListEnt)
(setq Ent (cdr (assoc '-1 ListEnt)))
(setq PrePoint1 NewPoint1)
(setq Area (vlax-curve-getArea Ent))
(while (or (>= Area (+ (- NewArea dArea) 0.005)) (<= Area (- (- NewArea dArea) 0.005)))
    (setq NewPoint1 (Point-Rand RunPoint1))
    (setq ListEnt (subst (cons 10 NewPoint1) (cons 10 PrePoint1) ListEnt))
    (entmod ListEnt)
    (setq Ent (cdr (assoc '-1 ListEnt)))
    (setq PrePoint1 NewPoint1)
    (setq Area (vlax-curve-getArea Ent)))

菡萏 发表于 2014-3-4 11:52:18

多段线有很多顶点,红色语句替换的是第一个顶点,自然是不对的!

yingbuzhe 发表于 2014-3-4 12:24:19

(cons 10 RunPoint1)已经选定了RunPoint1被替换呀 RunPoint1是我在多线段上选取的

yingbuzhe 发表于 2014-3-4 15:01:10

我搞好了 谢谢
页: [1]
查看完整版本: 高手指教 修改多线段的顶点坐标