CAD上算一个图层的所有线段的长度之和

CAD上算一个图层的所有线段的长度之和
CAD上算一个图层的所有线段的长度之和

(princ "\n程序:统计线段长度命令:test")

(defun C:TEST (/ 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))

)

(princ (strcat "\n共选择 " (itoa (sslength SS)) " 条线段. 线段总长: " (rtos SUMLEN 2 3) "米."))

(princ)

)

将以上代码复制在记事本内后“另存为”→“统计线段长度.lsp”

打开CAD,运行“appload”命令加载刚保存的“统计线段长度.lsp”文件

按命令提示“程序:统计线段长度命令:test”

输入命令test

选择要统计长度的线段即可。

附:我的命令行操作提示

命令:

命令: appload

已成功加载统计线段长度.lsp。

命令:

程序:统计线段长度命令:test

命令:

命令: test

选择对象: 指定对角点: 找到 4 个

选择对象:

共选择 4 条线段. 线段总长: 1667.294米这个与大家分享!

cad中统计多条直线长度的方法

cad中统计多条线段长度 新建文本文档。在文档中输入以下内容: ======================================================= ;统计cad图中线的总长度 ;************** Write By zhenglin**************** (defun c:tj_l (/ p n e e1 e2 l s x1 x2 y1 y2 xx yy ll lll) (setq ln 0 lll 0) (setq p (ssget)) ; Select objects (if p (progn ; If any objects selected (setq l 0 n (sslength p)) (while (< l n) ; For each selected object... (if (= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l)))))) (progn (setq e1 (assoc 10 e) e2 (assoc 11 e)) (setq x1 (cadr e1) y1 (caddr e1)) (setq x2 (cadr e2) y2 (caddr e2)) (setq xx (abs (- x2 x1)) yy (abs (- y2 y1))) (setq ll (sqrt (+ (* xx xx) (* yy yy)))) (setq lll (+ lll ll)) (setq ln (+ ln 1)) ) ) (setq l (1+ l)) ) ) ) (print "total line number= ") (princ ln) (print "total line length= ") (princ lll) (terpri) ) ======================================== 另存为tj_l.lsp 打开cad —> 工具—> 加载应用程序—> 找到并选中tj_l.lsp点加载在命令行输入tj_l 然后选中所有要统计的线。 按F2查看结果

CAD中计算多条线段的长度

(princ "\n程序:统计线段长度命令:zz") (defun C:zz (/ 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)) ) (princ (strcat "\n共选择 " (itoa (sslength SS)) " 条线段. 线段总长: " (rtos SUMLEN 2 3) " .")) (princ) ) 将以上代码复制在记事本内后“另存为”→“统计线段长度.lsp” 打开CAD,运行“appload”命令加载刚保存的“统计线段长度.lsp”文件按命令提示“程序:统计线段长度命令:zz” 输入命令zz选择要统计长度的线段即可。 命令: 程序:统计线段长度命令:zz命令: 命令:zz选择对象: 指定对角点: 找到 4 个选择对象: 共选择 4 条线段. 线段总长: 1623.294. cad中线段怎么合并? 2012-06-14 10:45 wxy00520|分类:图像处理软件|浏览9615次 我是PE--空格--选线段--J--另一条线--怎么始终合并不了啊?(线段中有半圆,但是连接着的) 才开始几段还能合并呢,后面怎么都不行了

CAD测量连续线段长度的简单办法(1)

测量CAD图中多条线段长度的简单办法 由于在Cad中没有连续测量线段长度的命令,多数人都是利用查询直线命令,将线段一段一段的测量再通过计算器相加,很是麻烦,现介绍两种更为简单实用的多线段测量方法。 1.利用PL命令测量多条线段长度: 使用多段线(pline)命令快捷健pl,连续在测量点上画线,再用(list)快捷健li命令点这条线确认就会出现该线的属性,可以看到该线段的总长度和该线段区域的面积。 2.利用PE命令测量线段多条线段的长度: 输入:PE回车确认,M回车确认,连续点选要测量的线段后回车确认,Y回车确认,J(闭合)回车二次确认,若线段出现闭合需要再输入O将闭合打开。此时所有欲测量的线段已经连接为一条多线段,再输入 li(list),就可以看到线段的总长度和该线段区域的面积了。 1

附录:需要熟记的CAD常用快捷键 一、常用功能键 F1: 获取帮助 F2: 实现作图窗和文本窗口的切换 F3: 控制是否实现对象自动捕捉 F4: 数字化仪控制 F5: 等轴测平面切换 F6: 控制状态行上坐标的显示方式 F7: 栅格显示模式控制 F8: 正交模式控制 F9: 栅格捕捉模式控制 F10: 极轴模式控制 F11: 对象追踪式控制 二、常用字母快捷键 A: 绘圆弧 B: 定义块 C: 画圆 D: 尺寸资源管理器 E: 删除 F: 倒圆角 G: 对相组合 H: 填充 I: 插入 S: 拉伸 T: 文本输入 W: 定义块并保存到硬盘中 L: 直线 M: 移动 X: 炸开 V: 设置当前坐标 U: 恢复上一次操做 O: 偏移 P: 移动 Z: 缩放 AA: 测量区域和周长(area) AL: 对齐(align) 2

cad统计线段长度方法

(princ "\n程序:统计线段长度命令:test") (defun C:TEST (/ 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)) ) (princ (strcat "\n共选择 " (itoa (sslength SS)) " 条线段. 线段总长: " (rtos SUMLEN 2 3) "米.")) (princ) ) 将以上代码复制在记事本内后“另存为”→“统计线段长度.lsp” 打开CAD,运行“appload”命令加载刚保存的“统计线段长度.lsp”文件 按命令提示“程序:统计线段长度命令:test” 输入命令test 选择要统计长度的线段即可。 附:我的命令行操作提示 命令: 命令: appload 已成功加载统计线段长度.lsp。 命令: 程序:统计线段长度命令:test

命令: 命令: test 选择对象: 指定对角点: 找到 4 个 选择对象: 共选择 4 条线段. 线段总长: 1667.294米

★CAD中统计多条线段长度

1. 新建文本文档,将以下代码复制在记事本内,“另存为”→“统 计线段长度.lsp”。 (princ "\n程序:统计线段长度命令:zz")? (defun C:zz (/ 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)) ? ) ? (princ (strcat "\n共选择 " (itoa (sslength SS)) " 条线段. 线段总长: " (rtos SUMLEN 2 3) " ?.")) (princ) ? ) ?? 2.打开CAD →菜单栏中找到“管理”(老版本“工具”)→打开“加载应用程序”(或在命令行中运行“appload”命令打开)→找到并选中“统计线段长度.lsp”→点“加载”→显示“已成功加载统计线段长度.lsp。”→点“关闭”。

3. 在命令行输入“zz”+回车→选中所有要统计的线→选中后点鼠标右键(或回车)。

cad查询多个线段长度总和

cad如何在一个图层内查询多条线段长度总和(转作者不详) 一个简单的源代码,测试后可以修改编辑让它更符合你的要求: (princ "\n程序:统计线段长度命令:xkbuild") (defun C:xkbuild (/ 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)) ) (princ (strcat "\n共选择" (itoa (sslength SS)) " 条线段. 线段总长: " (rtos SUMLEN 2 3) " .")) (princ) ) 将以上代码复制在记事本内后“另存为”→“统计线段长度.lsp” 打开CAD,运行“appload”命令加载刚保存的“统计线段长度.lsp”文件 按命令提示“程序:统计线段长度命令:xkbuild” 输入命令xkbuild选择要统计长度的线段即可。 附:我的命令行操作提示 命令: 命令: appload 已成功加载统计线段长度.lsp。

cad中统计多条线段长度

新建文本文档O 在文档中输入以下内容;统计cad图中线的总长度 ? ************** 5WriteByzhe nglin **************** (defu nc:tj」(/p nee1e2lsx1x2y1y2xxy ylllll) (setql nO 1110) (setqp(ssget));Selectobjects (ifp (prog n;Ifa ny objectsselected (setql 0n (ssle ngthp)) (while(

(pri nt"totalli nenu mber二") (princln) (pri nt"totalli nele ngth二") (pri nclll) (terpri) ) 另存为 打开cad—>工具一>加载应用 序一>找到并选中点加载在命 令行输入tj」然后选中有要统计的线。 按F2查看结果程所

cad统计线段长度方法

给一个简单的源代码,你自己测试后可以修改编辑让它更符合你的要求: (princ "\n程序:统计线段长度命令:test") (defun C:TEST (/ 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)) ) (princ (strcat "\n共选择" (itoa (sslength SS)) " 条线段. 线段总长: " (rtos SUMLEN 2 3) "米.")) (princ) ) 将以上代码复制在记事本内后“另存为”→“统计线段长度.lsp” 打开CAD,运行“appload”命令加载刚保存的“统计线段长度.lsp”文件 按命令提示“程序:统计线段长度命令:test” 输入命令test 选择要统计长度的线段即可。 附:我的命令行操作提示 命令: 命令: appload 已成功加载统计线段长度.lsp。

命令: 程序:统计线段长度命令:test 命令: 命令: test 选择对象: 指定对角点: 找到 4 个选择对象:

CAD中如何一次性统计多条直线(曲线)的长度

CAD中如何一次性统计多条直线(曲线)的长度 1、打开记事本记录以下代码 (defun c:tj_l (/ p n e e1 e2 l s x1 x2 y1 y2 xx yy ll lll) (setq ln 0 lll 0) (setq p (ssget)) ; Select objects (if p (progn ; If any objects selected (setq l 0 n (sslength p)) (while (< l n) ; For each selected object... (if (= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l)))))) (progn (setq e1 (assoc 10 e) e2 (assoc 11 e)) (setq x1 (cadr e1) y1 (caddr e1)) (se tq x2 (cadr e2) y2 (caddr e2)) (setq xx (abs (- x2 x1)) yy (abs (- y2 y1))) (setq ll (sqrt (+ (* xx xx) (* yy yy))) ) (setq lll (+ lll ll)) (setq ln (+ ln 1)) ) ) (setq l (1+ l)) ) ) ) (print "total line number= ") (princ ln) (print "total line length= ") (princ lll) (terpri) ) 2、另存为cdtj.lsp cdtj自己命名,之后将能作为快捷方式使用,示例cdtj为长度统计拼音首字母 3、打开CAD或天正建筑 4、点击“管理”→“加载应用程序”→选择“cdtj.lsp”→ “加载”→“关闭”

CAD统计多条线段长度程序及程序加载方法

用下面的这个程序可以,加载后执行命令:mulen (defun c:mulen() (setq i 1 s 0) (prompt " 选择直线:") (setq ss (ssget)) (setq leng (sslength ss)) (setq namelist (list(ssname ss 0))) (repeat (1- leng) (setq namelist (append namelist (list (ssname ss i)))) (setq i (1+ i))) (foreach name namelist (setq nameall (entget name)) (setq ps (cdr (assoc 10 nameall))) (setq pe (cdr (assoc 11 nameall)))

(setq psx (car ps)) (setq psy (cadr ps)) (setq psz (caddr ps)) (setq pex (car pe)) (setq pey (cadr pe)) (setq pez (caddr pe)) (setq x (- psx pex)) (setq y (- psy pey)) (setq z (- psz pez)) (setq length (sqrt (+ (expt x 2) (expt y 2) (expt z 2)))) (setq s (+ s length)) )

(princ (strcat " 直线总长为:"(rtos s))) (princ) ){:em27} 上述为程序内容,然后存为:“文件名.lsp”,再从CAD里用appload 命令加载此文件。 这里有一个程序,你可以用用看, 命令为AM 对 line ,arc ,ellispe,spline,polyline,lwpolyline,circle,mline, solid均有效。 你既可统计长度,也可统计面积,或者两者都统计。

测量多条线段总长度的方法

CAD测量线段长度的方法 1 若是单条线段,选中后查看属性,就可以得知该线段的长度。 2 若是多条连续线段,但不闭合,可以用PE命令先将所有线段变为多段线,之后选用J命令将所有PLine线合并;再选中这线的时候发现只是一根线了,再查看属性即可。 3 若是多条不连续线段,无法用以上两种方法较快的测量出线段的长度,则建立一个txt 文本,拷贝以下内容: ;;;----------------------------------------------------- ;;;计算线加总长度 ;;;----------------------------------------------------- (defun C:yy (/ 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) ) 最后,把.txt文件的后缀改成.lsp,并命名为yy,即。 如果cad原来你就有yy命令的话,你可以随意更改成你想要的(如OK),只要以上文本文件中所有的yy改成OK,同时把文件名称也改成。之后再CAD中加载此LSP文件,输入OK命令就可以统计所有的线段长度了。 特别声明:以上方法是通过查询网上已有的方法总结出来的,并非本人原创,要感谢原创人员付出的劳动。

cad查询多个线段长度总和

(princ "\n程序:统计线段长度命令:xkbuild") (defun C:xkbuild (/ 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)) ) (princ (strcat "\n共选择" (itoa (sslength SS)) " 条线段. 线段总长: " (rtos SUMLEN 2 3) " .")) (princ) ) 将以上代码复制在记事本内后“另存为”→“统计线段长度.lsp” 打开CAD,运行“appload”命令加载刚保存的“统计线段长度.lsp”文件 按命令提示“程序:统计线段长度命令:xkbuild” 输入命令xkbuild选择要统计长度的线段即可。 附:我的命令行操作提示 命令: 命令: appload 已成功加载统计线段长度.lsp。 命令:

程序:统计线段长度命令:xkbuild命令: 命令:xkbuild选择对象: 指定对角点: 找到 4 个 选择对象: 共选择 4 条线段. 线段总长: 1623.294.

测量CAD面积和长度的几种简单方法

测量CAD图面积与长度的简单办法 图形面积和周长最省事的方法: 1.测量闭合图形面积和周长简单而准确方法: 如果要测量的是一个闭合的图形,只需要用鼠标左键点一下待测量闭合图形的任意一点,然后回车,面积和周长就都计算并显示出来了。 2.测量连续线段图形面积和周长简单的方法: 如果要测量的是一个非闭合的连续线段图形可按以下方法测量: 1)在命令行输入LI并回车; 2)用鼠标左键点击需要测量的连续线段; 3)回车后即可看到刚刚测量的,连续线段图形的面积与周长。 一、测量简单图形面积和周长的方法: 如果要测量的是一个非闭合也非连续线段的矩形,可按以下步骤进行测量: 1)对象捕捉置于开的状态; 2)用鼠标点击工具栏中的矩形选项或在命令行输入rec回车; 3)用鼠标点击待测矩形的一个角点; 4)用鼠标点击待测矩形的对角点; 5)用鼠标点击待测矩形的任一点(选取矩形框); 6)在命令行输入LI并回车,面积和周长就都计算并显示出来了。 二、测量复杂图形面积的方法: 1.方法一: 1)用鼠标点击工具栏中的多段线选项或在命令行输入PL并回车; 2)用鼠标逐个点击待测图形的一个每一个角点,至最后一个非闭合角点; 3)在命令行输入C并回车,令图形闭合; 4)用鼠标点击待测图形的任一点(选取该图形); 5)在命令行输入LI并回车,面积和周长就都计算并显示出来了。 2.方法二: 1)用鼠标点击工具栏中的区域图标选项或在命令行输入AREA并回车; 2)用鼠标逐个点击待测图形的一个每一个角点,至最后一个闭合角点; 3)直接回车后即可计算并显示出已测图形的面积和周长。 3.方法三: 1)用鼠标点击标题栏中的工具选项; 2)在下拉菜单中选中查询---面积; 3)用鼠标逐个点击待测图形的一个每一个角点,至最后一个闭合角点; 4)直接回车后即可计算并显示出已测图形的面积和周长。 4.方法四: 1)在命令行输入AA并回车; 2)用鼠标逐个点击待测图形的一个每一个角点,至最后一个闭合角点; 3)直接回车后即可计算并显示出已测图形的面积和周长。 5.方法五: 1)在命令行输入PR并回车; 2)用鼠标逐个点击待测图形的一个每一个角点,至最后一个闭合角点; 3)直接回车后即可计算并显示出已测图形的面积和周长。 三、附录:CAD常用快捷键 1.CAD快捷键:常用功能键 F1: 获取帮助

CAD统计线段长度

(princ "\n 程序:统计线段长度命令:xkbuild") (defun C:xkbuild (/ 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-getendpar am CURVE))) (setq SUMLEN (+ SUMLEN TLEN)) (setq N (1+ N)) ) (princ (strcat "\n共选择" (itoa (sslength SS)) " 条线段线段总长" (rtos SUMLEN 2 3) ".")) (princ) ) 将以上代码复制在记事本内后 “另存为”→“统计线段长度.lsp” 打开CAD,运行“appload”命令加载刚保存的 “统计线段长度.lsp”文件按命令提示 “程序:统计线段长度命令:xkbuild” 输入命令xkbuild 选择要统计长度的线段即可。 附:我的命令行操作提示 命令 命令: appload已成功加载 统计线段长度.lsp 命令程序:统计线段长度 命令:xkbuild 命令 命令:xkbuild 选择对象 指定对角点 找到4个选择对象 共选择4条线段 线段总长 。。。。。。。。。。。。。。。。。。。。。。。。。。。。 个人检验有用。

cad中统计多条线段长度

新建文本文档。在文档中输入以下内容:

;统计cad图中线的总长度 ;************** Write By zhenglin**************** (defun c:tj_l (/ p n e e1 e2 l s x1 x2 y1 y2 xx yy ll lll) (setq ln 0 lll 0) (setq p (ssget)) ; Select objects (if p (progn ; If any objects selected (setq l 0 n (sslength p)) (while (< l n) ; For each selected object... (if (= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l)))))) (progn (setq e1 (assoc 10 e) e2 (assoc 11 e)) (setq x1 (cadr e1) y1 (caddr e1)) (setq x2 (cadr e2) y2 (caddr e2)) (setq xx (abs (- x2 x1)) yy (abs (- y2 y1))) (setq ll (sqrt (+ (* xx xx) (* yy yy)))) (setq lll (+ lll ll)) (setq ln (+ ln 1)) ) ) (setq l (1+ l)) ) ) ) (print "total line number= ") (princ ln) (print "total line length= ") (princ lll) (terpri) ) 另存为tj_l.lsp

CAD统计线段长度

(princ " 程序:统计线段长度命令:xkbuild") (defun C:xkbuild (/ 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-getendpar am CURVE))) (setq SUMLEN (+ SUMLEN TLEN)) (setq N (1+ N)) ) (princ (strcat "\n共选择" (itoa (sslength SS)) " 条线段线段总长" (rtos SUMLEN 2 3) ".")) (princ) )

将以上代码复制在记事本内后 “另存为”→“统计线段长度.lsp” 打开CAD,运行“appload”命令加载刚保存的“统计线段长度.lsp”文件按命令提示 “程序:统计线段长度命令:xkbuild” 输入命令xkbuild 选择要统计长度的线段即可。 附:我的命令行操作提示 命令 命令: appload已成功加载 统计线段长度.lsp 命令程序:统计线段长度 命令:xkbuild 命令 命令:xkbuild 选择对象 指定对角点

相关文档
最新文档