明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 9158|回复: 57

弧线测量距离和定距标点

  [复制链接]
发表于 2012-12-27 14:38 | 显示全部楼层 |阅读模式
1明经币
本帖最后由 【KAIXIN】 于 2012-12-28 08:24 编辑

首先说明:这个悬赏贴是应一个老乡所托在此求助:
就当是给大家一个做习题吧!也当是回馈明经!
欢迎大家踊跃回帖讨论,很感谢!
凡认真回答此题者,皆有奖励,一个币起!


下图是图纸的截图:



测试文件:


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

最佳答案

查看完整内容

根据szxgsh兄提的几个意见做了修改 1.现在程序响应的更快了 2.弄了个长名字和短名字 3.可以选择满布和单个 无图无真相的说 附上修改过了的fas
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2012-12-27 14:38 | 显示全部楼层
根据szxgsh兄提的几个意见做了修改
1.现在程序响应的更快了
2.弄了个长名字和短名字
3.可以选择满布和单个
无图无真相的说

附上修改过了的fas


本帖子中包含更多资源

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

x

点评

样条曲线和椭圆弧测试了么?  发表于 2012-12-29 23:15
回复

使用道具 举报

发表于 2012-12-27 14:55 | 显示全部楼层
你是不是公路放线哦,,

点评

不是  发表于 2012-12-27 15:11
回复

使用道具 举报

发表于 2012-12-27 16:07 | 显示全部楼层
本帖最后由 xiabin68 于 2012-12-27 16:14 编辑

技术只能这样了,,只能一根一根的选,,再看看别个有没有更好的思路了
;;QQ19539078
(DEFUN C:HK ()
  (SETQ XY1 (GETPOINT "点击交点1:")
        XY2 (GETPOINT "点击交点2:")
        SS (CAR (ENTSEL "选择曲线:"))
        NAME1 (VLAX-ENAME->VLA-OBJECT ss)
          XX1 (VLAX-CURVE-GETCLOSESTPOINTTO NAME1 XY1)
          XX2 (VLAX-CURVE-GETCLOSESTPOINTTO NAME1 XY2)
          DIST1 (VLAX-CURVE-GETDISTATPOINT NAME1 XX1)
          DIST2 (VLAX-CURVE-GETDISTATPOINT NAME1 XX2)
          DIST (- DIST2 DIST1)
          d2 (+ dist1 (/ dist 2))
          d3 (vlax-curve-getpointatdist  name1 d2)
        )
  (command "text" "j" "m" d3 "3" (angtos (angle xy1 xy2) 0 4) (rtos (abs dist) 2 3) "")
  (command "point" xx1)
  (command "point" xx2)
  (command "text" "j" "m" (polar xx1 (angtof "60") 3) "3" "0" "交点1" "")
  (command "text" "j" "m" (polar xx2 (angtof "60") 3) "3" "0" "交点2" "")
  (princ )
)

本帖子中包含更多资源

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

x

评分

参与人数 1明经币 +1 金钱 +9 收起 理由
【KAIXIN】 + 1 + 9 认真回复奖!

查看全部评分

回复

使用道具 举报

发表于 2012-12-27 17:28 | 显示全部楼层
是不是用vlax-curve族函数就能搞定了?

评分

参与人数 1明经币 +1 收起 理由
【KAIXIN】 + 1 认真回复奖!

查看全部评分

回复

使用道具 举报

发表于 2012-12-27 18:40 | 显示全部楼层
坐等,占座顶一下吧
回复

使用道具 举报

发表于 2012-12-27 18:41 | 显示全部楼层
要用到曲线“焊接”?
回复

使用道具 举报

发表于 2012-12-27 19:05 | 显示全部楼层
(defun c:test (/ CUR P1 P2)
(vl-load-com)
(setq cur (car (entsel "nSelect the cure:")))
(setq p1 (getpoint "nPick First Point:"))
(Setq p2 (getpoint "nPick Seconf Point:"))
(abs (- (vlax-curve-getDistAtPoint cur p2)
(vlax-curve-getDistAtPoint cur p1)))
)

点评

这个只是针对一条线  发表于 2012-12-28 08:08
回复

使用道具 举报

发表于 2012-12-27 19:35 | 显示全部楼层
(defun C:test ()
(setvar "osmode" 183)
(setq p (getpoint "\nPick a Point:"))
(setq jl (getreal "\ndist:"))
(setq cur (car (entsel)))
(setq pe (vlax-curve-getPointAtDist cur jl))
(setq tan (vlax-Curve-getFirstDeriv cur (vlax-Curve-getParamAtPoint cur pe)))
(setq pf (polar pe (+ (/ pi 2) (atan (/ (cadr tan) (car tan)))) 1))
(vl-cmdf "line" pe pf "")
)

评分

参与人数 1明经币 +1 金钱 +12 收起 理由
【KAIXIN】 + 1 + 12 认真回帖奖

查看全部评分

回复

使用道具 举报

发表于 2012-12-27 19:36 | 显示全部楼层
上面胡乱改了下,应该是这个意思吧
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 14:05 , Processed in 0.524745 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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