找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1274|回复: 16

[求助] [编程申请]:求助:屏幕数字平均的程序

[复制链接]
发表于 2005-4-1 12:00:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
哪位老大帮忙编一个可以在屏幕上拾起两个数字并求其平均值,放在指定位置上得小程序?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-4-1 12:22:00 | 显示全部楼层
可以选择一列数字,分别求出上下相邻两数字的平均值,然后在右侧35000处写出平均值!如果远了,你可以改程序中的35000,平均值文字的大小、图层同你选择的文本!
程序是ld用来计算土方的!





  1. (defun c:pj (/ ssmj sslen n fangliang xx yy entmj x y str_fl)
  2.   (princ "\n选择填挖面积:")
  3.   (setq        ssmj  (ssget '((0 . "TEXT")))
  4.         sslen (sslength ssmj)
  5.         n     0
  6.         yl    nil
  7.   )
  8.   (while (< n sslen)
  9.     (setq yl (cons (caddr (assoc 10 (entget (ssname ssmj n)))) yl)
  10.           n  (1+ n)
  11.     )
  12.   )
  13.   (setq        n  0
  14.         nl (vl-sort-i (reverse yl) '<)
  15.   )
  16.   (while (< n (- sslen 1))
  17.     (setq nn n
  18.           FangLiang 0
  19.           xx 0
  20.           yy 0
  21.     )
  22.     (repeat 2
  23.       (setq entmj (entget (ssname ssmj (nth nn nl))))
  24.       (setq mj (distof (cdr (assoc 1 entmj)))
  25.             x  (cadr (assoc 10 entmj))
  26.             y  (caddr (assoc 10 entmj))
  27.       )
  28.       (princ mj)
  29.       (princ "\n")
  30.       (setq fangliang (+ fangliang mj)
  31.             yy              (+ yy y)
  32.             xx              (+ xx x)
  33.             nn              (1+ nn)
  34.       )
  35.     )
  36.     (setq str_fl (rtos (/ fangliang 2) 2 2)
  37.           yy         (/ yy 2)
  38.           xx         (/ xx 2)
  39.           xx         (+ xx 35000)
  40.     )
  41.     (setq entmj        (subst (cons 1 str_fl) (assoc 1 entmj) entmj)
  42.           entmj        (subst (list 10 xx yy 0) (assoc 10 entmj) entmj)
  43.     )
  44.     (entmake entmj)
  45.     (setq n (1+ n))
  46.   )
  47.   (princ)
  48. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-2 09:13:38 | 显示全部楼层
david96007,你好,谢谢你!我不懂编程,你给的程序如何应用,怎样在CAD中来调有它?请指点!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-2 09:28:05 | 显示全部楼层
把压缩文件里的两个文件解压到acuocad的目录里(比如:C:\Program Files\AutoCAD R14),
启动cad后输入命令pj!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-2 17:54:34 | 显示全部楼层
你好,我使用了,还是没有用,选择后,屏幕没有什么反应!
我需要的是只要实现这样功能就行了。

在方格网中,如果我有20×20的方格网数据,现在要在改成10×10的方格网,就在没两个方格间加一个,取平均就好,老大能帮忙修改一下实现这功能吧!

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

使用道具 举报

发表于 2005-4-2 19:21:17 | 显示全部楼层
我的程序是达到如下效果的:
和你的不太一样,我建议你耐下心来学习一下,这样的小程序只是适合自己用的!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-4-3 09:41:03 | 显示全部楼层
将你的其他情况说明一下,比如竖向的方格网是什么情况?

用下面的代码替换昨天下载的文件的内容,可以达到如下效果:

(r2000下通过!r14可能有问题!)

  1. (defun c:pj (/ ssmj sslen n fangliang xx yy entmj x y str_fl)
  2.   (princ "\n选择需要平均的数字:")
  3.   (setq        ssmj  (ssget '((0 . "TEXT")))
  4.         sslen (sslength ssmj)
  5.         n     0
  6.         yl    nil
  7.   )
  8.   (while (< n sslen)
  9.     (setq yl (cons (cadr (assoc 10 (entget (ssname ssmj n)))) yl)
  10.           n  (1+ n)
  11.     )
  12.   )
  13.   (setq        n  0
  14.         nl (vl-sort-i (reverse yl) '<)
  15.   )
  16.   (while (< n (- sslen 1))
  17.     (setq nn n
  18.           FangLiang 0
  19.           xx 0
  20.           yy 0
  21.     )
  22.     (repeat 2
  23.       (setq entmj (entget (ssname ssmj (nth nn nl))))
  24.       (setq mj (distof (cdr (assoc 1 entmj)))
  25.             x  (cadr (assoc 10 entmj))
  26.             y  (caddr (assoc 10 entmj))
  27.       )
  28.       (princ mj)
  29.       (princ "\n")
  30.       (setq fangliang (+ fangliang mj)
  31.             yy              (+ yy y)
  32.             xx              (+ xx x)
  33.             nn              (1+ nn)
  34.       )
  35.     )
  36.     (setq str_fl (rtos (/ fangliang 2) 2 2)
  37.           yy         (/ yy 2)
  38.           xx         (/ xx 2)
  39. ;;;          xx         (+ xx 0)
  40.     )
  41.     (setq entmj        (subst (cons 1 str_fl) (assoc 1 entmj) entmj)
  42.           entmj        (subst (list 10 xx yy 0) (assoc 10 entmj) entmj)
  43.     )
  44.     (entmake entmj)
  45.     (setq n (1+ n))
  46.   )
  47.   (princ)
  48. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-3 11:01:45 | 显示全部楼层
你有QQ 吗?我的是359596849,我用QQ 向您请教好不?

如下图:左边的是20*20的方格网,在方格网加密后变成10*10的方格网如右图,现在要将右图中两个已有数据的中间方格网内填上一个数字,其值是上下两个数值的平均。从图面来看,所有的数值,不论是左右看还是上下看,都成一条直线。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2005-4-3 11:32:41 | 显示全部楼层
这个可以进行竖向文字的平均

  1. (defun c:pjs (/ ssmj sslen n fangliang xx yy entmj x y str_fl)
  2.   (princ "\n选择填挖面积:")
  3.   (setq        ssmj  (ssget '((0 . "TEXT")))
  4.         sslen (sslength ssmj)
  5.         n     0
  6.         yl    nil
  7.   )
  8.   (while (< n sslen)
  9.     (setq yl (cons (caddr (assoc 10 (entget (ssname ssmj n)))) yl)
  10.           n  (1+ n)
  11.     )
  12.   )
  13.   (setq        n  0
  14.         nl (vl-sort-i (reverse yl) '<)
  15.   )
  16.   (while (< n (- sslen 1))
  17.     (setq nn n
  18.           FangLiang 0
  19.           xx 0
  20.           yy 0
  21.     )
  22.     (repeat 2
  23.       (setq entmj (entget (ssname ssmj (nth nn nl))))
  24.       (setq mj (distof (cdr (assoc 1 entmj)))
  25.             x  (cadr (assoc 10 entmj))
  26.             y  (caddr (assoc 10 entmj))
  27.       )
  28.       (princ mj)
  29.       (princ "\n")
  30.       (setq fangliang (+ fangliang mj)
  31.             yy              (+ yy y)
  32.             xx              (+ xx x)
  33.             nn              (1+ nn)
  34.       )
  35.     )
  36.     (setq str_fl (rtos (/ fangliang 2) 2 2)
  37.           yy         (/ yy 2)
  38.           xx         (/ xx 2)
  39.     )
  40.     (setq entmj        (subst (cons 1 str_fl) (assoc 1 entmj) entmj)
  41.           entmj        (subst (list 10 xx yy 0) (assoc 10 entmj) entmj)
  42.     )
  43.     (entmake entmj)
  44.     (setq n (1+ n))
  45.   )
  46.   (princ)
  47. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-3 12:04:46 | 显示全部楼层
更改后,运行PJ,屏幕还是没有任何反应!九楼的图就是我的要求,你看看能否满足?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-3 12:15:28 | 显示全部楼层
我自己用没有问题啊!

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 02:31 , Processed in 0.415298 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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