找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: nt8011

[求助] [求助]:求从图中点取算式进行计算的程序!

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

使用道具 举报

发表于 2009-1-17 22:12:32 | 显示全部楼层
15楼eachy斑竹的程序很好用,但是CAD中一般很少用到这种列表达式的吧,如果改成选取图中数字组合成表达式是否更有用
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-17 23:25:23 | 显示全部楼层
很有用,在总图中要很多次的计算指标,点取图中封闭线的面积后,对面积数据改成一个计算式,把计算结果再标在图中。一直在完善这个功能,eachy斑竹给的程序是其中重要的一步。
另: eachy斑竹,因为还需对计算结果进行求和或其它操作,所以期望保留算式,把计算结果另外独立标在后面。 我准备在贵程序后采用文字打断的方法来实现(汗颜...),如eachy斑竹能有简单的办法来调整,敬请指点!!!
另: 17楼提出“改成选取图中数字组合成表达式”的想法很创意,应该对平时工作有帮助,期望哪位大侠的手笔了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

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

使用道具 举报

发表于 2009-1-18 14:33:45 | 显示全部楼层
;;修改完善
  1. [FONT=courier new];; 算式文本计算
  2. (defun c:test767 (/ ss i s1 tx a)
  3.   (cmdla0)
  4.   (xyp-initSet '(INT) '(3))
  5.   (SETQ INT (UINT 5 "" "计算精度" INT))
  6.   (if (not (member "geomcal.arx" (arx)))
  7.     (arxload "geomcal.arx")
  8.   )
  9.   (setq        ss (ssget '((0 . "text")))
  10.         i  -1
  11.   )
  12.   (while (setq s1 (ssname ss (setq i (1+ i))))
  13.     (setq tx (xyp-get-dxf 1 s1))
  14.     (if        (setq a (c:cal tx))
  15.       (xyp-SubUpd s1 1 (strcat tx " = " (rtos a 2 INT)))
  16.     )
  17.   )
  18.   (cmdla1)
  19. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2009-1-18 14:41:05 | 显示全部楼层

  1. (defun c:tt (/ ss ssl i e str el nstr p p1 ll l)
  2.   (if (not (member "GEOMCAL.ARX" (MAPCAR 'strcase (arx))))
  3.     (arxload "geomcal.arx")
  4.   )
  5.   (if (and (setq ss (ssget '((0 . "text"))))
  6.            (setq p (getpoint "\nOutput Point: "))
  7.       )
  8.     (progn
  9.       (setq ssl        (sslength ss)
  10.             i        -1
  11.       )
  12.       (repeat ssl
  13.         (setq el   (entget (ssname ss (setq i (1+ i))))
  14.               str  (cdr (assoc 1 el))
  15.               l           (caadr (textbox (list (assoc 1 el) (assoc 40 el))))
  16.               ll   (+ l (* 3. (/ l (strlen (cdr (assoc 1 el))))))
  17.               nstr (rtos (c:cal str) 2 2)
  18.         )
  19.         (setq el (subst (cons 10 p) (assoc 10 el) el))
  20.         (entmake el)
  21.         (setq el (subst (cons 1 nstr) (assoc 1 el) el)
  22.               p1 (mapcar '+
  23.                          (list ll 0. 0.)
  24.                          p
  25.                  )
  26.               el (subst (cons 10 p1) (assoc 10 el) el)
  27.         )
  28.         (entmake el)
  29.         (setq
  30.           p (mapcar '+ p (list 0. (- (* 1.5 (cdr (assoc 40 el)))) 0.))
  31.         )
  32.       )
  33.     )
  34.   )
  35.   (princ)
  36. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-18 19:12:39 | 显示全部楼层
eachy斑竹的程序完全符合我所需的功能,谢谢!!!也谢谢其它热心的斑竹们!
感受到:晓东论坛因为有你们一群水平高且热心的斑竹,使论坛能一直保持精彩!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-1-19 12:34:03 | 显示全部楼层
最初由 eachy 发布
[B][code]
(defun c:tt (/ ss ssl i e str el nstr p p1 ll l)
  (if (not (member "GEOMCAL.ARX" (MAPCAR 'strcase (arx))))
    (arxload "geomcal.arx")
  )
  (if (and (setq ss (ssget '((0 . "text"))))
         ... [/B]



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

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

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

使用道具 举报

发表于 2009-2-6 11:35:06 | 显示全部楼层
我看要达到你的目的,只能先选择文字实体,提取出内容,分解数字和运算符号,再求解,最后把结果用文字实体放到图中,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 00:44 , Processed in 0.421463 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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