查看: 24344|回复: 29
收起左侧

[Auto CAD] 有知道CAD制图怎么测量曲线长度的?交流一下

[复制链接]
发表于 2006-12-16 17:16 | 显示全部楼层 |阅读模式 来自: 中国江苏南京
list
回复

使用道具 举报

龙船学院
头像被屏蔽
发表于 2006-12-16 20:20 | 显示全部楼层 |阅读模式 来自: 中国福建宁德

正解,LIST命令

有人专门写了量曲线的长度的LISP,可后来发现有直接量长度和面积的LIST,还能显示控制点和拟和点坐标.

好东东

回复

使用道具 举报

发表于 2006-12-17 13:20 | 显示全部楼层 |阅读模式 来自: 中国天津
对还能量惯性矩比较爽
回复

使用道具 举报

发表于 2006-12-18 13:14 | 显示全部楼层 |阅读模式 来自: 中国湖北黄冈

这是LISP测量曲线长度的代码

(defun c:test (/ cur p1 p2)
(vl-load-com)
(setq cur (car (entsel "\n选择曲线: ")))
(setq p1 (getpoint "\n点取第一点: "))
(Setq p2 (getpoint "\n下一点 :"))
(abs (- (vlax-curve-getDistAtPoint cur p2)
(vlax-curve-getDistAtPoint cur p1)))
)

回复

使用道具 举报

发表于 2006-12-18 20:24 | 显示全部楼层 |阅读模式 来自: 中国辽宁大连

我也发表一点意见,其实就单纯求一条任意曲线的长度,也不用编程序。首先,用一条直线把曲线首尾连接起来,形成一个闭合区域;然后,用"面域"<region>命令,将区域生成一个面域;最后,用"面域/质量特性"<massprop>查询命令就得到曲线+直线长度,减去直线长度就是楼主的曲线长度了。

回复

使用道具 举报

发表于 2006-12-18 20:53 | 显示全部楼层 |阅读模式 来自: 新加坡
brianlei:

我也发表一点意见,其实就单纯求一条任意曲线的长度,也不用编程序。首先,用一条直线把曲线首尾连接起来,形成一个闭合区域;然后,用"面域"<region>命令,将区域生成一个面域;最后,用"面域/质量特性"<massprop>查询命令就得到曲线+直线长度,减去直线长度就是楼主的曲线长度了。

生有体会!!!同道中人

回复

使用道具 举报

发表于 2006-12-22 14:13 | 显示全部楼层 |阅读模式 来自: 中国黑龙江哈尔滨
最简单的,输入len回车就可以
回复

使用道具 举报

发表于 2006-12-22 23:47 | 显示全部楼层 |阅读模式 来自: 中国辽宁葫芦岛

转化为PLINE,再用list就行

回复

使用道具 举报

发表于 2007-1-24 14:02 | 显示全部楼层 |阅读模式 来自: 中国辽宁大连
呵呵,学习收获,谢谢
回复

使用道具 举报

发表于 2007-3-5 12:02 | 显示全部楼层 |阅读模式 来自: 中国重庆
哪有这么麻烦,输命令aa回车,输O点击你要测量的曲线,就可以得到他的长度了,
回复

使用道具 举报

发表于 2007-3-5 20:23 | 显示全部楼层 |阅读模式 来自: 中国山东青岛
白云:

这是LISP测量曲线长度的代码

(defun c:test (/ cur p1 p2)
(vl-load-com)
(setq cur (car (entsel "\n选择曲线: ")))
(setq p1 (getpoint "\n点取第一点: "))
(Setq p2 (getpoint "\n下一点 :"))
(abs (- (vlax-curve-getDistAtPoint cur p2)
(vlax-curve-getDistAtPoint cur p1)))
)

能写一个多线段组合长度的lisp吗?包括直线曲线都有的

回复

使用道具 举报

头像被屏蔽
发表于 2007-3-13 23:25 | 显示全部楼层 |阅读模式 来自: 中国上海
brianlei:

我也发表一点意见,其实就单纯求一条任意曲线的长度,也不用编程序。首先,用一条直线把曲线首尾连接起来,形成一个闭合区域;然后,用"面域"<region>命令,将区域生成一个面域;最后,用"面域/质量特性"<massprop>查询命令就得到曲线+直线长度,减去直线长度就是楼主的曲线长度了。

我也一直这么测的,方便,呵呵

回复

使用道具 举报

发表于 2007-3-29 22:17 | 显示全部楼层 |阅读模式 来自: 中国广东江门

最简的就是用LI回车就行了

回复

使用道具 举报

发表于 2007-3-31 12:15 | 显示全部楼层 |阅读模式 来自: 中国浙江台州

用LISP

能求曲线的长图

图形的面积

 

回复

使用道具 举报

发表于 2007-4-11 18:08 | 显示全部楼层 |阅读模式 来自: 中国湖北黄冈

你的意思是不是要求所选的线段总长度

下面是求出所选定的线的总长度之和源码

(defun C:cdtj (/ CURVE TLEN SS N SUMLEN)
  (vl-load-com)
  (setq SUMLEN 0)
  (setq SS (ssget '((0 . "CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE,ARC"))))
  (setq N 0)
  (repeat (sslength SS)
    (setq CURVE (vlax-ename->vla-object (ssname SS N)))
    (setq TLEN (vlax-curve-getdistatparam
CURVE
(vlax-curve-getendparam CURVE)
       )
    )
    (setq SUMLEN (+ SUMLEN TLEN))
    (setq N (1+ N))
  )
  (print (strcat "总长度: " (rtos SUMLEN 2 5)))
  (princ)
)

回复

使用道具 举报

发表于 2007-4-15 21:27 | 显示全部楼层 |阅读模式 来自: 中国上海

用2006以上版本!

回复

使用道具 举报

发表于 2007-4-17 11:45 | 显示全部楼层 |阅读模式 来自: 中国上海
ls 回车就好了
回复

使用道具 举报

发表于 2007-4-17 16:27 | 显示全部楼层 |阅读模式 来自: 中国上海
zjchen6499:
brianlei:

我也发表一点意见,其实就单纯求一条任意曲线的长度,也不用编程序。首先,用一条直线把曲线首尾连接起来,形成一个闭合区域;然后,用"面域"<region>命令,将区域生成一个面域;最后,用"面域/质量特性"<massprop>查询命令就得到曲线+直线长度,减去直线长度就是楼主的曲线长度了。

我也一直这么测的,方便,呵呵

在很多曲线需要量时,这样一条条做挺累的,呵呵,譬如手工绘螺旋桨伸张轮廓的时候。

 

回复

使用道具 举报

发表于 2007-4-18 15:27 | 显示全部楼层 |阅读模式 来自: 中国上海

len  回车

 

回复

使用道具 举报

发表于 2007-4-18 15:31 | 显示全部楼层 |阅读模式 来自: 中国江苏无锡

rock:
最简单的,输入len回车就可以

这才是王道

回复

使用道具 举报

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

本版积分规则

小黑屋|标签|免责声明|龙船社区

GMT+8, 2024-11-13 11:56

Powered by Imarine

Copyright © 2006, 龙船社区

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