明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

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

能不能沿着一条多段线,在上面画圆?(请看14楼谢谢;问题内容有更新)

  [复制链接]
发表于 2011-12-9 13:01:31 | 显示全部楼层
本帖最后由 chg 于 2011-12-9 13:03 编辑

i的参数错误,这里应该是距离,你提供的是点
发表于 2011-12-10 10:46:03 | 显示全部楼层
一点想法,仅供参考:
  先采取 获取多线段端点及拐点,然后利用利用坐标公式,按照插入间距循环计算需要插入圆的圆心,逐个插入圆,直到多线段最后一个端点。
发表于 2011-12-10 10:56:37 | 显示全部楼层
  1. (defun c:tt(/ CURVE D R CURVELEN DIS PT)
  2.   (while (not(setq curve (car(entsel "\n选择曲线:")))))
  3.   (setq d (getreal "\n布点间距<30.0>:"))
  4.   (if (null d) (setq d 30))
  5.   (setq r (getreal "\n圆半径<5.0>:"))
  6.   (if (null r) (setq r 5.0))
  7.   (setq curvelen (vlax-curve-getDistAtParam curve (vlax-curve-getEndParam curve)))
  8.   (setq dis 0)
  9.   (while (< dis curvelen)
  10.     (setq pt (vlax-curve-getPointAtDist curve dis))
  11.     (entmake (list (cons 0 "circle")
  12.                    (cons 10 pt)
  13.                    (cons 40 r)
  14.                    )
  15.              )
  16.     (setq dis (+ dis d))
  17.     )
  18.   (princ)
  19.   )
 楼主| 发表于 2011-12-10 15:49:43 | 显示全部楼层

RE: 能不能沿着一条多段线,在上面画圆?(问题内容有更新)

Gu_xl 发表于 2011-12-10 10:56

你好,我已经实现了在线上取点,用的思路差不多,但是又遇到了新的问题,就是因为要根据线的整体的弧度不同,取的间距不同,一开始,我想根据线的颜色进行区分,但是这样就需要选线的时候多选,这时就不知道怎么使点号连续,而,vlax-curve-getpointaidist 好像只能针对一条线进行操作。
之后我又想在线上取三个点,通过角度判断出第三个点是不是超出角度范围,判断取点间距,但是感觉局限性太大,判断的不精确。
请问有没有别的思路,对一条方向有变化的多段线,根据弯曲程度不同,进行不同间距的取点?
 楼主| 发表于 2011-12-10 22:51:20 | 显示全部楼层
求高手给个思路吧,很是挠头啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-9 13:13 , Processed in 0.139104 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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