明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3477|回复: 12

求输入一个值算出曲线多少等分的近似值等分并画线

  [复制链接]
发表于 2012-8-30 02:56 | 显示全部楼层 |阅读模式
1明经币
本帖最后由 kwok 于 2012-8-30 10:14 编辑

通过选一条的曲线或在图上用鼠标点2点作总距离让近似值来等分,并在等分位加线(线的长度可以自定),俩头不用加线,
把等分位画的线指定到指定图层"01",
通过输入一个A值来算曲线可以分成多少份,分多少分通过计算由软件定,可以是比A多或少,找最相近的B值,A≈B±n
谢谢!





附上上面的示意图.

附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2012-8-30 02:56 | 显示全部楼层
Try

  1. (defun C:test ()
  2.    (setq p1 (getpoint "\n P1: ")       ; 提示自己改
  3.          p2 (getpoint "\n P2: ")
  4.          vv (angle p1 p2)
  5.          v1 (+ vv (* Pi 0.5))
  6.          dd (distance p1 p2)
  7.          aa (getint "\n A值: ")
  8.          nn (/ dd aa)
  9.          nn (atoi (rtos nn 2 0))
  10.          dd (/ dd nn)
  11.          nn (1- nn)
  12.    )
  13.    (repeat nn
  14.      (setq p1 (polar p1 vv dd)
  15.            p2 (polar p1 v1 10)
  16.      )
  17.      (entmake (list '(0 . "LINE") (cons 10 p1) (cons 11 p2) '(8 . "01")))
  18.    )
  19. )
回复

使用道具 举报

发表于 2012-8-30 08:05 | 显示全部楼层
选一条的曲线时要得到怎样的结果图呢?
回复

使用道具 举报

发表于 2012-8-30 08:32 | 显示全部楼层
本帖最后由 xyp1964 于 2012-8-30 08:33 编辑

  1. ;; 输入一个值算出曲线多少等分的近似值等分并画线
  2. ;; 伪源码需要e派工具箱(XCAD)的支持
  3. (defun c:tt (/ ss i s1)
  4.   (CMDLA0)
  5.   (setq d1 (Udist 7 "" "间距<输入或鼠标直接量取>" d1 nil))
  6.   (setq d2 (Udist 7 "" "线长<输入或鼠标直接量取>" d2 nil))
  7.   (princ"\n选择曲线: ")
  8.   (setq ss (ssget '((0 . "*LINE,ARC,CIRCLE,ELLIPSE")))
  9.         i  -1
  10.   )
  11.   (while (setq s1 (ssname ss (setq i (1+ i))))
  12.     (foreach pt (cdr (reverse (cdr(xyp-get-CurveDivNumPtlst s1  (+ (fix (/ (xyp-get-CurveLength s1) d1)) 1)))))
  13.       (xyp-Faxian s1 pt d2)
  14.     )
  15.   )
  16.   (CMDLA1)
  17. )
回复

使用道具 举报

发表于 2012-8-30 08:43 | 显示全部楼层
此类问题论坛里答案很多!在搜索栏键入“等分曲线”,会出来一堆结果!
参见:
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=92651
回复

使用道具 举报

 楼主| 发表于 2012-8-30 10:06 | 显示全部楼层
Andyhon 发表于 2012-8-30 08:05
选一条的曲线时要得到怎样的结果图呢?

附上图了,谢谢.
回复

使用道具 举报

 楼主| 发表于 2012-8-30 10:12 | 显示全部楼层
Gu_xl 发表于 2012-8-30 08:43
此类问题论坛里答案很多!在搜索栏键入“等分曲线”,会出来一堆结果!
参见:
http://bbs.mjtd.com/foru ...

是需要通过输入一个数值来算这段距离大概可以分多少份,等份出来的每段距离是近似值,
单纯的等分等距就直接div或me了.谢谢
回复

使用道具 举报

发表于 2012-8-30 10:21 | 显示全部楼层
您的样图还只是 用鼠标点2点作总距离(直线例)

点评

样图里的红线就可以当作是直线例.谢谢.  发表于 2012-8-30 10:28
回复

使用道具 举报

 楼主| 发表于 2012-8-30 10:22 | 显示全部楼层
xyp1964 发表于 2012-8-30 08:32

画的垂直线段没有放到指定层,如01层.

点评

里面增加: (xyp-MkLa "01 )  发表于 2012-8-30 12:41
回复

使用道具 举报

发表于 2012-8-30 10:43 | 显示全部楼层
...可以当作是直线例...

选一条的曲线 时置之不理

点评

可以选线或指定p1p2点作总距离,二种方法可以在操作近似等分时选择,谢谢.  发表于 2012-8-30 10:51
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-23 17:58 , Processed in 0.362443 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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