明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4199|回复: 12

请教各位大侠,曲线测量问题

  [复制链接]
发表于 2003-10-23 17:15:00 | 显示全部楼层 |阅读模式
看罢曲线测量函数,有一个问题一直没搞清楚,特请教如下:
做一函数,输入点pt1及曲线,返回曲线上的点pt2, pt1与pt2的连线应与曲线在pt2点处的切线垂直。
最好是加载函数后,在屏幕上选定曲线,然后移动光标,即动态显示光标所在位置到pt2点的连线,随着光标移动,pt2点及连线随之移动。

[em00][em00][em00][em00][em00]

评分

参与人数 1金钱 +5 收起 理由
kucha007 + 5 神马都是浮云

查看全部评分

发表于 2003-10-23 17:39:00 | 显示全部楼层
(defun c:test( / ent entl pt pt_close)
  (setq ent (car (entsel)))
  (setq ent (vlax-ename->vla-object ent))
  (command "_.line" '(0 0) '(1 0) "")
  (setq entl (entget (entlast)))
  (while (= (car (setq pt (grread 2 4))) 5)
    (setq pt (cadr pt))
    (setq pt_close (vlax-curve-getClosestPointTo ent pt))
    (setq entl (subst (cons 10 pt_close) (assoc 10 entl) entl))
    (setq entl (subst (cons 11 pt) (assoc 11 entl) entl))
    (entmod entl)
  )
  (princ)
)

评分

参与人数 1威望 +1 金钱 +5 贡献 +5 激情 +5 收起 理由
龙龙仔 + 1 + 5 + 5 + 5 【好评】奖励

查看全部评分

发表于 2003-10-24 08:35:00 | 显示全部楼层
這個好!以後很多地方會用得著,當然不會是這樣,可能改為虛線移動用於指定距離、指定點、指定方向。
发表于 2003-10-24 08:57:00 | 显示全部楼层
飞哥,你好历害!
小弟我真的佩服!
我对grread函数不太懂,我先去看看书,不懂再来向你请教,嘿嘿。:)
 楼主| 发表于 2003-10-24 16:39:00 | 显示全部楼层
飞哥当然厉害!
我的问题有一多半都是飞哥帮助解答的!
不过您的程序好像不支持延长线,能在改进一下就更好了!
谢谢!
发表于 2003-10-24 16:59:00 | 显示全部楼层
这样即可,不过不支持SPLINE,因为SPLINE的延长线本身就不好确定。
而且程序也不会将曲线(好象只有圆弧)延长
[CODE](defun c:test( / ent entl pt pt_close)
  (setq ent (car (entsel)))
  (setq ent (vlax-ename->vla-object ent))
  (command "_.line" '(0 0) '(1 0) "")
  (setq entl (entget (entlast)))
  (while (= (car (setq pt (grread 2 4))) 5)
    (setq pt (cadr pt))
    (setq pt_close (vlax-curve-getClosestPointTo ent pt t))
    (setq entl (subst (cons 10 pt_close) (assoc 10 entl) entl))
    (setq entl (subst (cons 11 pt) (assoc 11 entl) entl))
    (entmod entl)
  )
  (princ)
)CODE]
 楼主| 发表于 2003-10-24 17:32:00 | 显示全部楼层
飞哥您好:
您的程序问题在于vlax-curve-getClosestPointTo返回的是距离曲线最近的点,而非垂直点,所以在pline角点处、曲线的起点及终点处返回不正确,在以上点位应返回曲线或多段线某一段延长线处的垂点。
发表于 2003-10-24 20:11:00 | 显示全部楼层
希望多测试一下,不是所有曲线都返回不正确,PLINE端点无法延长,SPLINE端点也无法延长是这个程序的局限。至于其它曲线都是正确的。

你说PLINE的角点不正确,那我问你,角点处的切线你能作出来吗?无法作切线,谈何与切线垂直?

最后,你用几何知识分析一下,在光滑曲线外一点到这条曲线的最近点的切线是否和最近点同已知点连线垂直
 楼主| 发表于 2003-10-27 08:32:00 | 显示全部楼层
惭愧!!!!!!!
发表于 2004-6-26 01:40:00 | 显示全部楼层
1

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-7-21 23:47 , Processed in 0.205718 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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