找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: taoyuan

[编程申请]:如何将多条线段的长度自动计算求和?

[复制链接]
发表于 2004-11-23 13:29:58 | 显示全部楼层
不用太复杂,列出线长并求累计总长。
[php]
(defun c:test ()
  (setq cmdech (getvar"CMDECHO") os (getvar"osmode") sum 0 i 0 ss (ssget))
  (setvar"CMDECHO"0)
  (setvar"osmode"0)
  (repeat (sslength ss)
    (setq en (ssname ss i))
    (command"lengthen"en"")
    (setq l (getvar"perimeter"))
    (setq sum (+ sum l) i (+ i 1) ) )
  (setvar"osmode"os)
  (setvar"CMDECHO"cmdech)
  (princ"\n选线总长 = ")
  (princ sum)
  (princ)
)

[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-30 23:24:35 | 显示全部楼层
这里真是个好地方!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-2 08:16:08 | 显示全部楼层
怎么才能下载附件啊,我看到里面有好多好多好东东,可是没资格下载啊,真急人!能不能。。。。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-5 17:24:11 | 显示全部楼层
16楼楼主啊
你那个程序怎么加载 啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-11 13:45:01 | 显示全部楼层
最初由 82406515 发布
[B]16楼楼主啊
你那个程序怎么加载 啊 [/B]


(load"test041.lsp")
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-11 20:08:32 | 显示全部楼层
最初由 xyp1964 发布
[B]

(load"test041.lsp") [/B]


不知道大哥可部可以在软件最后总长的后面加一个单位,毫米啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-11 21:13:58 | 显示全部楼层
没有必要吧,自己画图应该知道单位是什么,不一定是毫米单位。
如果是总图,单位应该是米才合适。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-12 08:55:32 | 显示全部楼层
有道理
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-12 09:23:55 | 显示全部楼层
非常感谢楼主
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-30 11:49:47 | 显示全部楼层
xyp1964  的程序很实用,但能不能做点改进,就是每条线旁标上线长,因为如果线条多的话不容易找到对应线的长度。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-30 23:30:43 | 显示全部楼层
最初由 rjljh 发布
[B]xyp1964  的程序很实用,但能不能做点改进,就是每条线旁标上线长,因为如果线条多的话不容易找到对应线的长度。 [/B]

需求没有普遍意义。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-31 07:53:52 | 显示全部楼层
最初由 xyp1964 发布
[B]
需求没有普遍意义。 [/B]


哈哈,原來我做了好幾年沒有意義的事
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-31 09:17:54 | 显示全部楼层
最初由 f5612140 发布
[B]

哈哈,原來我做了好幾年沒有意義的事 [/B]

仅指其普遍性。
如果确实要标注,可以试试签名栏下的“坡度坡长”程序。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-31 10:24:39 | 显示全部楼层
toxyp1964
我们使用本程序的目的是制作工程清单,先列出分项再汇总是清单制作的普遍样式,而这个程序无法准确知道每条线对应的长度,即使可以通过选择的先后大致定值,但本着对工作负责的态度,当我们需要对线长进行复核的时候,将仍然复杂。如果只要一个总长,那程序还可简化,不必在任务栏列出每段长。
而坡度坡长你更清楚它无法标注整根多段线长,它实现的不是这方面的功能。
一家之言,仅供参考!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-31 13:01:08 | 显示全部楼层
标注线长并输出到文件:
  1. [FONT=courier new](load "xyp_lib")
  2. ;|加载通用函数(可在签名栏直接下载)
  3. 如果已经下载xyp_lib并放到搜索路径下可以不再下载!
  4. 利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
  5. 1.在acad.lsp中增加(load"xyp_lib")
  6. 2.在每个程序内增加(load"xyp_lib")
  7. 3.在command下,输入(load"xyp_lib")
  8. 4.在菜单.mnl中增加(load"xyp_lib")
  9. 5.将xyp_lib.vlx文件直接拽到cad屏幕
  10. [COLOR=red] ★通用函数下载地址:[/COLOR][url]http://www.xdcad.net/forum/attachment.php?s=&postid=1606661[/url]|;

  11. ;;;标注线长并输出到文件
  12. (defun c:test178 ()
  13.   (CMDLASC0)
  14.   (setvar "osmode" 0)
  15.   (princ "\n选择曲线 : ")
  16.   (mkla "线长" 4)
  17.   (setq        ss  (ssget '((0 . "*LINE,CIRCLE,ELLIPSE,ARC")))
  18.         tx2 (UKWORD 7 "Y N" "\n是否输出线长数据:Y-是/N-否" tx2)
  19.         sum 0
  20.         i   -1
  21.   )
  22.   (if (= tx2 "Y")
  23.     (progn
  24.       (setq ffn        (getfiled "\n保存的线长数据文件" "线长" "txt" 1)
  25.             ff        (open ffn "w")
  26.       )
  27.     )
  28.   )
  29.   (while (setq en (ssname ss (setq i (1+ i))))
  30.     (setq PT        (vlax-curve-getstartPoint en)
  31.           etype        (dxf 0 (entget en))
  32.           pt-tx        (polar pt (* pi 0.75) (* sc 200))
  33.           l        (vlax-curve-getDistAtParam en (vlax-curve-getEndParam en))
  34.           tx        (strcat        (rtos l 2 3)
  35.                         " ("
  36.                         etype
  37.                         " L"
  38.                         (rtos (+ i 1) 2 0)
  39.                         ") "
  40.                 )
  41.           sum        (+ sum l)
  42.     )
  43.     (if        (= tx2 "Y")
  44.       (write-line tx ff)
  45.     )
  46.     (XIEZI pt-tx tx)
  47.   )
  48.   (if (= tx2 "Y")
  49.     (progn
  50.       (setq tx (strcat "选线总长 = " (rtos sum 2 3)))
  51.       (write-line tx ff)
  52.       (close ff)
  53.       (princ (strcat "\n线长数据写至文件=>" ffn))
  54.     )
  55.   )
  56.   (princ "\n选线总长 = ")
  57.   (princ sum)
  58.   (CMDLA1)
  59. )[/FONT]

点评

老大,我是菜鸟,无法理解你放出的代码怎么运行,保存到记事本,存为xyp_lib.vlx文件?在cad中加载?命令是什么呢?不知是否方便做成cad可直接加载的文件发给我下?不胜感谢!!  详情 回复 发表于 2013-6-23 21:35
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-20 09:54 , Processed in 0.227620 second(s), 57 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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