找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1587|回复: 18

[原创]:文本表达式混合计算程序演示

[复制链接]
发表于 2004-2-14 20:45:57 | 显示全部楼层 |阅读模式

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

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

×
文本表达式混合计算程序核心部分进入最后调试阶段。近期发布。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

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

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

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

使用道具 举报

 楼主| 发表于 2004-2-18 00:52:10 | 显示全部楼层
对,cal是很好,除了那个讨厌的最大最小限制 :)
这个其实是模拟cal做的,加入识别数字文本(这个cal好像没有)
拟支持 封闭曲线面积统计计算,图块计数
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2004-2-18 08:59:12 | 显示全部楼层
我在ce.lsp中使用了cal函数,应该说效果很好,可以对图面上一般的四则运算表达式进行计算,相关的处理在函数ce_n中,见下:

  1. (defun ce_n(e1 / t1 nt1)
  2.   (setq nt "" nt1 "" nt0 nil)
  3.   (setq e1 (ce_strtrim e1))
  4.   (while (and (/= e1 "") (= nt0 nil))
  5.     (setq t1 (substr e1 1 1) e1 (substr e1 2))
  6.     (if (or (/= (member t1 '("." "'" "d" "D" """ "+" "-" "*" "/" "(" ")")) nil)
  7.             (and (>= (ascii t1) 48) (<= (ascii t1) 57))
  8.       )
  9.       (setq nt1 (strcat nt1 t1))
  10.       (progn
  11.         (if (or (= t1 "x") (= t1 "X"))     ;将字符“x”、“X”解析为“*”
  12.           (setq t1 "*")
  13.           (if (or (and (>= (ascii t1) 65) (<= (ascii t1) 90))
  14.                   (and (>= (ascii t1) 97) (<= (ascii t1) 122))
  15.               )
  16.             (setq t1 "")
  17.             (setq nt0 1)
  18.           )
  19.         )
  20.         (cond
  21.           ((= (ascii nt1) 46) (setq nt1 (strcat "0" nt1)))
  22.           ((= (type (read nt1)) 'INT) (setq nt1 (strcat nt1 ".0")))   ;处理整数
  23.           (t nil)
  24.         )
  25.         (setq nt (strcat nt nt1 t1) nt1 "")
  26.       )
  27.     )
  28.   )
  29.   (if (and (/= nt1 "") (= nt0 nil))
  30.     (progn
  31.       (cond
  32.         ((= (ascii nt1) 46) (setq nt1 (strcat "0" nt1)))
  33.         ((= (type (read nt1)) 'INT) (setq nt1 (strcat nt1 ".0")))
  34.         (t nil)
  35.       )
  36.       (setq nt (strcat nt nt1))
  37.     )
  38.     (setq nt (strcat nt nt1))
  39.   )
  40.   (if (and (= nt0 nil) (/= nt "")) (setq e1[color=red] (c:cal nt)[/color]) (setq e1 0.0))   
  41. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-2-18 12:53:49 | 显示全部楼层
仅仅四则运算就不必劳繁cal大驾了。我觉得cal最大的特点是可以支持变量,表达式。可惜有最大最小数的限制,曾经想过把运算的数字变小,用cal计算,然后放大还原,不过没有深入,也还没写程序出来。
但是你程序中 对“x”解析成* 我觉得很好:)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2004-2-18 14:58:46 | 显示全部楼层
最初由 陌生人 发布
[B]仅仅四则运算就不必劳繁cal大驾了。我觉得cal最大的特点是可以支持变量,表达式。可惜有最大最小数的限制,曾经想过把运算的数字变小,用cal计算,然后放大还原,不过没有深入,也还没写程序出来。
但是你程序中 对... [/B]


我这里所说的四则运算是指写在图面上的算式,在材料表中经常会用到,如“30x4”、“30x4+27”等等,这些算式虽然简单,但如果自己解析成Lisp能接受的算式,则会有些麻烦。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2004-2-18 15:25:23 | 显示全部楼层
就是这里:http://www.xdcad.net/forum/showthread.php?threadid=27605
程序太长,也没有什么注解,看起来会比较费劲。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-2-18 15:29:30 | 显示全部楼层
对不起,长老,我并没有你估计的那么厉害。
我只是想想用这个程序,来减少工作量。
谢谢你!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-2-29 15:32:02 | 显示全部楼层
提高工作效率的有效工具:

操作数、计算结果均为一组文本

具有选择一列、一行的功能,用它修改钢筋数量表是一件非常轻松的事情

计算结果不用手工输入,只需用鼠标拾取

如果你喜欢计算器或者觉得不用计算器浪费,这个程序不适合你



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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 837个

财富等级: 财运亨通

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 18:59 , Processed in 0.226015 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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