JerryGPS 发表于 2003-11-6 10:34:00

ThisDrawing.SendCommand "MEASURE" & vbCr & CommandSTR & vbCr & CStr(ds) & vbCr
SsetPoint.Select acSelectionSetAll, , , groupCode, dataCode
这条语句有点问题,如果在图中除了这条曲线外还有别的AcadPoint,怎么办,也会把别的AcadPoint选择上去,不知道gyl怎么解决这个问题?

gyl 发表于 2003-11-6 22:32:00

你可以新建一个图层,专门存放measure命令生成的点图元,一条曲线处理完之后,就删除这个图层上的所有点,然后再进行另一条曲线的处理工作,全部曲线处理完之后,把这个图层删除即可。

wjfling 发表于 2003-11-8 17:34:00

楼,问题怎么解决的?

mccad 发表于 2003-11-8 21:29:00

其它做measure前先统计当前的图元数量,measure后再统计当前的图元数量,多出来的部分就是新的对象了。

Ea 发表于 2003-11-10 12:48:00

zshuling发表于2003-10-26 8:43:00static/image/common/back.gif求助:如何获得曲线上的等分点?
想通过程序自动找到样条曲线上的等分点,在绘图时可以用divide命令进行等分,但VBA里好像没有divide命令,不知道该怎么办:(请哪位高手指点一下,急,多谢了。

(defun ea:divpl        (n obj / len sp ep pam dis div ptl)
(setq        len (vla-get-length obj)
        sp(vlax-curve-getstartpoint obj)
        ep(vlax-curve-getendpoint obj)
)
(if (> n 1)
    (progn
      (setq dis        0.
          div        (/ len n)
      )
      (while (< dis len)
        (setq pam (vlax-curve-getParamAtDist obj dis)
              dis (+ dis div)
        )
        (setq ptl (cons (vlax-curve-getpointatparam obj pam) ptl))
      )
      (setq ptl (reverse ptl))
    )
    (setq ptl (list ep sp))
)
ptl
)

zzz8662 发表于 2004-6-10 09:39:00

本帖最后由 作者 于 2004-6-12 8:50:06 编辑

想问gyl一个问题:如果我的取点间隔是10,但是在这些曲线中大部分线长度达不到10,我又不想减小取点间隔,我还想在上面取等分点,怎么办?


我想这样做:当在某一条曲线上取点时,发现这个曲线长度不足。用divide命令取一些点。这里,有一个问题,怎样判断MEASURE命令执行错误?

029LH 发表于 2013-2-3 14:46:54

学习学习,谢谢

清风明月名字 发表于 2013-3-4 19:33:04

8楼的代码好极了,很实用啊

bshkl 发表于 2014-5-3 23:07:50

标记好帖子
页: 1 [2]
查看完整版本: 求助:如何获得曲线上的等分点?