明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: zshuling

求助:如何获得曲线上的等分点?

  [复制链接]
发表于 2003-11-6 10:34:00 | 显示全部楼层
ThisDrawing.SendCommand "MEASURE" & vbCr & CommandSTR & vbCr & CStr(ds) & vbCr
SsetPoint.Select acSelectionSetAll, , , groupCode, dataCode
这条语句有点问题,如果在图中除了这条曲线外还有别的AcadPoint,怎么办,也会把别的AcadPoint选择上去,不知道gyl怎么解决这个问题?
发表于 2003-11-6 22:32:00 | 显示全部楼层
你可以新建一个图层,专门存放measure命令生成的点图元,一条曲线处理完之后,就删除这个图层上的所有点,然后再进行另一条曲线的处理工作,全部曲线处理完之后,把这个图层删除即可。
发表于 2003-11-8 17:34:00 | 显示全部楼层
楼,问题怎么解决的?
发表于 2003-11-8 21:29:00 | 显示全部楼层
其它做measure前先统计当前的图元数量,measure后再统计当前的图元数量,多出来的部分就是新的对象了。
发表于 2003-11-10 12:48:00 | 显示全部楼层
zshuling发表于2003-10-26 8:43:00求助:如何获得曲线上的等分点?
想通过程序自动找到样条曲线上的等分点,在绘图时可以用divide命令进行等分,但VBA里好像没有divide命令,不知道该怎么办:(请哪位高手指点一下,急,多谢了。
  1. (defun ea:divpl        (n obj / len sp ep pam dis div ptl)
  2.   (setq        len (vla-get-length obj)
  3.         sp  (vlax-curve-getstartpoint obj)
  4.         ep  (vlax-curve-getendpoint obj)
  5.   )
  6.   (if (> n 1)
  7.     (progn
  8.       (setq dis        0.
  9.             div        (/ len n)
  10.       )
  11.       (while (< dis len)
  12.         (setq pam (vlax-curve-getParamAtDist obj dis)
  13.               dis (+ dis div)
  14.         )
  15.         (setq ptl (cons (vlax-curve-getpointatparam obj pam) ptl))
  16.       )
  17.       (setq ptl (reverse ptl))
  18.     )
  19.     (setq ptl (list ep sp))
  20.   )
  21.   ptl
  22. )
发表于 2004-6-10 09:39:00 | 显示全部楼层
本帖最后由 作者 于 2004-6-12 8:50:06 编辑

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


我想这样做:当在某一条曲线上取点时,发现这个曲线长度不足。用divide命令取一些点。这里,有一个问题,怎样判断MEASURE命令执行错误?
发表于 2013-2-3 14:46:54 | 显示全部楼层
学习学习,谢谢
发表于 2013-3-4 19:33:04 | 显示全部楼层
8楼的代码好极了,很实用啊
发表于 2014-5-3 23:07:50 | 显示全部楼层
标记好帖子
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 14:41 , Processed in 0.149456 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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