找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2553|回复: 20

[求助] 梁箍筋数量代码

[复制链接]
发表于 2013-11-21 23:31:23 | 显示全部楼层 |阅读模式

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

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

×
请求帮忙编2个lisp代码,这2个代码是用来显示梁箍筋数量的一个代码,具体如下:
1、鼠标依次点击1点2点
2、电脑把1点到2点的长度代入公式,分别写成两套代码:公式1:(长度+3×梁高<梁高需要键盘键入>)/200   得数四舍五入     公式2:长度/200      得数四舍五入
3、在上面居中显示“箍筋  支”中间填上公式得出的数字
谢谢!
梁箍筋数量.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-21 23:38:52 来自手机 | 显示全部楼层
程序不难,感觉楼主考虑的还不周全

点评

大哥,能不能帮小弟把这2个代码给编一下哇  详情 回复 发表于 2013-11-22 09:44
对于大哥来说这自然不是难事啦!可是对于我来说可以减轻我的工作量呢。所以每次都劳烦大哥了。还有什么不全还请大哥明示  详情 回复 发表于 2013-11-21 23:50
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-21 23:50:25 来自手机 | 显示全部楼层
st788796 发表于 2013-11-21 23:38
程序不难,感觉楼主考虑的还不周全

对于大哥来说这自然不是难事啦!可是对于我来说可以减轻我的工作量呢。所以每次都劳烦大哥了。还有什么不全还请大哥明示
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-22 09:44:22 来自手机 | 显示全部楼层
st788796 发表于 2013-11-21 23:38
程序不难,感觉楼主考虑的还不周全

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-22 17:03:34 | 显示全部楼层
  1. (defun c:tt (/ p1 p2 h l)
  2.   (if (and (setq p1 (getpoint "\nFirst Point: "))
  3.            (setq p2 (getpoint p1 "\nSecond Point: "))
  4.            (setq H (getdist p1 "\nHeight: "))
  5.       )
  6.     (progn
  7.       (setq L (distance p1 p2))
  8.       (princ "\n")
  9.       (princ (fix (+ 0.5 (/ (* H (+ L 3)) 200))))
  10.       (princ "\n")
  11.       (princ (fix (+ 0.5 (/ L 200))))
  12.     )
  13.   )
  14.   (princ)
  15. )

点评

大哥,我试了这个代码,没有把结果用文字写在线上面,格式是“箍筋 支”例如5000长度,500高度,显示结果应是“箍筋33支” 麻烦大哥给稍微修改一下哦,嘻嘻  详情 回复 发表于 2013-11-22 18:25
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-22 18:25:24 来自手机 | 显示全部楼层
st788796 发表于 2013-11-22 17:03

大哥,我试了这个代码,没有把结果用文字写在线上面,格式是“箍筋  支”例如5000长度,500高度,显示结果应是“箍筋33支” 麻烦大哥给稍微修改一下哦,嘻嘻

点评

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-22 18:27:50 | 显示全部楼层
hphkjz 发表于 2013-11-22 18:25
大哥,我试了这个代码,没有把结果用文字写在线上面,格式是“箍筋  支”例如5000长度,500高度,显示结 ...

2 个公式哪个是数量?

点评

大哥,我的意思是编制两个代码,一个代码用公式1,一个代码用公式2。得出来的数套进“箍筋 支”中,显示出来是“箍筋33支”。因为梁的箍筋有的需要加密有的不需要,所以得要两套代码。大哥,显示出来的文字要固定  详情 回复 发表于 2013-11-22 18:42
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-22 18:42:34 来自手机 | 显示全部楼层
st788796 发表于 2013-11-22 18:27
2 个公式哪个是数量?

大哥,我的意思是编制两个代码,一个代码用公式1,一个代码用公式2。得出来的数套进“箍筋    支”中,显示出来是“箍筋33支”。因为梁的箍筋有的需要加密有的不需要,所以得要两套代码。大哥,显示出来的文字要固定字高,麻烦你了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-22 19:07:04 | 显示全部楼层
hphkjz 发表于 2013-11-22 18:42
大哥,我的意思是编制两个代码,一个代码用公式1,一个代码用公式2。得出来的数套进“箍筋    支”中,显 ...

  1. (defun c:tt (/ callback p1 p2 h l txt)
  2.   (defun callback (dynpt /)
  3.     (xdrx_entity_move txt p1 dynpt)
  4.     (setq p1 dynpt)
  5.   )
  6.   (if (and (setq p1 (getpoint "\nFirst Point: "))
  7.            (setq p2 (getpoint p1 "\nSecond Point: "))
  8.            (setq H (getdist p1 "\nHeight: "))
  9.       )
  10.     (progn
  11.       (XD::Begin)
  12.       (setq l        (fix (+ 0.5 (/ (distance p1 p2) 200)))
  13.             txt        (xdrx_text_make
  14.                   p1
  15.                   (strcat "箍筋 " (itoa l) " 支")
  16.                   3.5;_字高
  17.                   0.
  18.                 )
  19.       )
  20.       (xdrx_pointmonitor "Callback" txt)
  21.       (getpoint)
  22.       (xdrx_pointmonitor)
  23.       (XD::End)
  24.     )
  25.   )
  26.   (princ)
  27. )
  28. (defun c:tt1 (/ callback p1 p2 h l txt)
  29.   (defun callback (dynpt /)
  30.     (xdrx_entity_move txt p1 dynpt)
  31.     (setq p1 dynpt)
  32.   )
  33.   (if (and (setq p1 (getpoint "\nFirst Point: "))
  34.            (setq p2 (getpoint p1 "\nSecond Point: "))
  35.            (setq H (getdist p1 "\nHeight: "))
  36.       )
  37.     (progn
  38.       (XD::Begin)
  39.       (setq l        (fix (+ 0.5 (/ (+ (distance p1 p2) (* H 3)) 200)))
  40.             txt        (xdrx_text_make
  41.                   p1
  42.                   (strcat "箍筋 " (itoa l) " 支")
  43.                   3.5;_字高
  44.                   0.
  45.                 )
  46.       )
  47.       (xdrx_pointmonitor "Callback" txt)
  48.       (getpoint)
  49.       (xdrx_pointmonitor)
  50.       (XD::End)
  51.     )
  52.   )
  53.   (princ)
  54. )

点评

大哥,我试了试,完美运行,非常不错,只是第一个代码不需要再输入高了,直接需要长度就可以了,我把其中输入高的那段代码删掉了,不影响结果,哥编的代码非常的棒。 哥,还有个代码根这个很类似,叫板钢筋间距,具  详情 回复 发表于 2013-11-22 20:25
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-22 20:25:04 | 显示全部楼层

大哥,我试了试,完美运行,非常不错,只是第一个代码不需要再输入高了,直接需要长度就可以了,我把其中输入高的那段代码删掉了,不影响结果,哥编的代码非常的棒。
哥,还有个代码根这个很类似,叫板钢筋间距,具体是:
水平钢筋间距,依次点击A点和B点,得到长度,长度/200,得到num,在屏幕上显示num支,文字要是水平的
竖直钢筋间距,依次点击1点和2点,得到长度,长度/200,得到num,在屏幕上显示num支,但文字方向一定要是水平方向逆时针旋转90度
说白了就是梁箍筋间距的一个延伸,只是文字方向有要求,大哥不要分开编,不管水平还是竖直都编在一个代码里,电脑自动识别是水平还是竖直,好吗?大哥
如图所示:
板钢筋数量.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-22 21:15:03 | 显示全部楼层
  1. (defun c:tt (/ callback p1 p2 txt)
  2.   (defun callback (dynpt /)
  3.     (xdrx_entity_move txt p1 dynpt)
  4.     (setq p1 dynpt)
  5.   )
  6.   (xd::begin)
  7.   (while (and (setq p1 (getpoint "\nFirst Point: "))
  8.               (setq p2 (getpoint p1 "\nSecond Point: "))
  9.          )
  10.     (setq txt
  11.            (xdrx_text_make
  12.              p1
  13.              (strcat (itoa (fix (+ 0.5 (/ (distance p1 p2) 200)))) "支")
  14.              3.5 ;_Text heiht
  15.              (XD::Geom:AngleFormat (angle p1 p2))
  16.            )
  17.     )
  18.     (xdrx_pointmonitor "Callback" txt)
  19.     (getpoint)
  20.     (xdrx_pointmonitor)
  21.   )
  22.   (xd::end)
  23.   (princ)
  24. )

点评

哥,不好意思,出来的结果是对的,就是文字方向修改一下,量水平方向的长度出来的文字逆时针旋转90° 量竖直方向的长度文字方向是水平的。  详情 回复 发表于 2013-11-22 23:44
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-22 23:44:17 来自手机 | 显示全部楼层
st788796 发表于 2013-11-22 21:15

哥,不好意思,出来的结果是对的,就是文字方向修改一下,量水平方向的长度出来的文字逆时针旋转90°    量竖直方向的长度文字方向是水平的。

点评

(XD::Geom:AngleFormat (angle p1 p2)) -> (XD::Geom:AngleFormat (+ (* pi 0.5) (angle p1 p2)))  详情 回复 发表于 2013-11-23 07:49
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-23 07:49:40 | 显示全部楼层
hphkjz 发表于 2013-11-22 23:44
哥,不好意思,出来的结果是对的,就是文字方向修改一下,量水平方向的长度出来的文字逆时针旋转90°     ...

(XD::Geom:AngleFormat (angle p1 p2))
->
(XD::Geom:AngleFormat (+ (* pi 0.5) (angle p1 p2)))

点评

大哥,小弟盼着你看看这个bug,我搞了一天了,能想到的都修改了一下,还是没成功。真是不知道哪儿出错了。  详情 回复 发表于 2013-11-23 19:33
哥,是少个参数?还是怎么回事呢?  详情 回复 发表于 2013-11-23 13:14
哥,我改了之后运行出现了bug,显示:输入的字符串有缺陷。  详情 回复 发表于 2013-11-23 09:07
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-23 09:07:38 来自手机 | 显示全部楼层
st788796 发表于 2013-11-23 07:49
(XD::Geom:AngleFormat (angle p1 p2))
->
(XD::Geom:AngleFormat (+ (* pi 0.5) (angle p1 p2)))

哥,我改了之后运行出现了bug,显示:输入的字符串有缺陷。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-23 13:14:32 来自手机 | 显示全部楼层
st788796 发表于 2013-11-23 07:49
(XD::Geom:AngleFormat (angle p1 p2))
->
(XD::Geom:AngleFormat (+ (* pi 0.5) (angle p1 p2)))

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-25 02:28 , Processed in 0.408207 second(s), 69 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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