找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2119|回复: 17

[求助] 分布筋长度代码

[复制链接]
发表于 2013-11-24 10:22:48 | 显示全部楼层 |阅读模式

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

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

×
请求编制一个分布筋长度的lisp代码,规则如图片:
Drawing1-Model.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-24 10:42:19 | 显示全部楼层
1 以后申请帖发 "编程申请" 分坛
2 直接画Num2, 无需先画总长

点评

哥,我记住了,以后就去编程申请分坛。哥,要是直接画num2的话我就不用这么麻烦了,问题是不能直接画num2,只能先画一条直线,再把两头去掉留下中间的。哥,这个代码好编码?不行的话在num1和num3先打断再删掉。哥,  详情 回复 发表于 2013-11-24 11:06
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-24 11:06:10 来自手机 | 显示全部楼层
st788796 发表于 2013-11-24 10:42
1 以后申请帖发 "编程申请" 分坛
2 直接画Num2, 无需先画总长

哥,我记住了,以后就去编程申请分坛。哥,要是直接画num2的话我就不用这么麻烦了,问题是不能直接画num2,只能先画一条直线,再把两头去掉留下中间的。哥,这个代码好编码?不行的话在num1和num3先打断再删掉。哥,你看如何?

点评

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-24 11:31:13 | 显示全部楼层
hphkjz 发表于 2013-11-24 11:06
哥,我记住了,以后就去编程申请分坛。哥,要是直接画num2的话我就不用这么麻烦了,问题是不能直接画num2 ...

为什么不能直接画中间的?不懂结构
如果可以,做个演示贴上来
  1. (defun c:tt (/ p1 p2 n1 n3 d an pcen txt h pl)
  2.   (if (setq h (getdist (strcat "\nTextHeight<"
  3.                                (rtos (getvar "textsize") 2 2)
  4.                                ">: "
  5.                        )
  6.               )
  7.       )
  8.     (setvar "textsize" h)
  9.     (setq h (getvar "textsize"))
  10.   )
  11.   (while
  12.     (and
  13.       (setq p1 (getpoint "\nFirst Point<Exit>: "))
  14.       (setq p2 (getpoint p1 "\nSecond Point<Exit>: "))
  15.       (setq pl (xdrx_polyline_make p1 p2))
  16.       (or (setq N1 (getdist p1 "\nNum1 dist<Exit>: "))
  17.           (progn (xdrx_entity_delete pl) nil)
  18.       )
  19.       (progn
  20.         (if (not
  21.               (setq
  22.                 N3 (getdist p2
  23.                             (strcat "\nNum3 dist<" (rtos n1 2 0) ">: ")
  24.                    )
  25.               )
  26.             )
  27.           (setq n3 n1)
  28.         )
  29.         t
  30.       )
  31.     )
  32.      (setq d        (distance p1 p2)
  33.            an        (XD::Geom:AngleFormat (angle p1 p2))
  34.            pcen        (xdrx_line_midp p1 p2)
  35.      )
  36.      (setq txt (xdrx_text_make
  37.                  pcen
  38.                  (strcat "分布筋" (rtos n1 2 0) "+300")
  39.                  (getvar "textsize")
  40.                  an
  41.                )
  42.      )
  43.      (xdrx_text_setvermode txt 1)
  44.      (xdrx_text_sethozmode txt 1)
  45.      (setq txt (xdrx_text_make
  46.                  pcen
  47.                  (rtos d 2 0)
  48.                  (getvar "textsize")
  49.                  an
  50.                )
  51.      )
  52.      (xdrx_text_setvermode txt 3)
  53.      (xdrx_text_sethozmode txt 1)
  54.   )
  55.   (princ)
  56. )

点评

哥,我试了一下,有些地方得稍作修改,字高在代码里要固定,先要把这条直线画出来,得到总长num,然后分别输入num1和num3,num2=num-num1-num3 然后把两头的线删掉,留下中间的num2长的线,然后在线上显示:分布  详情 回复 发表于 2013-11-24 12:51
哥,意思就是这条直线就是钢筋,分成三段,两头的两段搭在梁上,中间的这段又搭在它两头的钢筋上,搭接一边150。所以它的长度要加300  详情 回复 发表于 2013-11-24 11:57
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-24 11:57:01 来自手机 | 显示全部楼层
st788796 发表于 2013-11-24 11:31
为什么不能直接画中间的?不懂结构
如果可以,做个演示贴上来

哥,意思就是这条直线就是钢筋,分成三段,两头的两段搭在梁上,中间的这段又搭在它两头的钢筋上,搭接一边150。所以它的长度要加300

点评

是啊,为什么要画出来然后输入长度后裁剪下去呢,直接画出中间的,然后根据你输入的两边长度直接写文字不行吗?  详情 回复 发表于 2013-11-24 12:03
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-11-24 12:03:50 | 显示全部楼层
hphkjz 发表于 2013-11-24 11:57
哥,意思就是这条直线就是钢筋,分成三段,两头的两段搭在梁上,中间的这段又搭在它两头的钢筋上,搭接一 ...

是啊,为什么要画出来然后输入长度后裁剪下去呢,直接画出中间的,然后根据你输入的两边长度直接写文字不行吗?

点评

兄弟,这个我觉得需要这条线的总长,不画出来也行,但一定要鼠标点击两边的点,然后输入num1和num3,cad自动运算得出num2,这样也行。但是中间的这条线必须要画出来且放在中间  详情 回复 发表于 2013-11-24 12:13
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-24 12:13:04 来自手机 | 显示全部楼层
菜菜学ODCL 发表于 2013-11-24 12:03
是啊,为什么要画出来然后输入长度后裁剪下去呢,直接画出中间的,然后根据你输入的两边长度直接写文字不 ...

兄弟,这个我觉得需要这条线的总长,不画出来也行,但一定要鼠标点击两边的点,然后输入num1和num3,cad自动运算得出num2,这样也行。但是中间的这条线必须要画出来且放在中间

点评

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

使用道具 举报

发表于 2013-11-24 12:18:20 | 显示全部楼层
hphkjz 发表于 2013-11-24 12:13
兄弟,这个我觉得需要这条线的总长,不画出来也行,但一定要鼠标点击两边的点,然后输入num1和num3,cad ...

中间这条线不是图中画好的,只是要标注吗?

点评

不是,只是相当于给了两头的点,好引出中间的线,分布筋嘛,都是在中间布置的呀!  详情 回复 发表于 2013-11-24 12:25
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-24 12:25:58 来自手机 | 显示全部楼层
菜菜学ODCL 发表于 2013-11-24 12:18
中间这条线不是图中画好的,只是要标注吗?

不是,只是相当于给了两头的点,好引出中间的线,分布筋嘛,都是在中间布置的呀!

点评

我觉得,你最好还是用录像软件,把你操作的过程画一遍,传上来比较好。  详情 回复 发表于 2013-11-24 12:47
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-11-24 12:47:26 | 显示全部楼层
hphkjz 发表于 2013-11-24 12:25
不是,只是相当于给了两头的点,好引出中间的线,分布筋嘛,都是在中间布置的呀!

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

使用道具 举报

 楼主| 发表于 2013-11-24 12:51:52 来自手机 | 显示全部楼层
st788796 发表于 2013-11-24 11:31
为什么不能直接画中间的?不懂结构
如果可以,做个演示贴上来

哥,我试了一下,有些地方得稍作修改,字高在代码里要固定,先要把这条直线画出来,得到总长num,然后分别输入num1和num3,num2=num-num1-num3   然后把两头的线删掉,留下中间的num2长的线,然后在线上显示:分布筋num4     (num4=num2+300)  不知道哥懂我的意思了没有

点评

你这样问太让人不好理解,不是搞结构的  详情 回复 发表于 2013-11-24 13:12
上GIF。。。你这样别人看不明白的。。  详情 回复 发表于 2013-11-24 13:07
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

发表于 2013-11-24 13:07:44 | 显示全部楼层
本帖最后由 q3_2006 于 2013-11-24 13:17 编辑
hphkjz 发表于 2013-11-24 12:51
哥,我试了一下,有些地方得稍作修改,字高在代码里要固定,先要把这条直线画出来,得到总长num,然后分 ...


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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-24 13:12:07 | 显示全部楼层
hphkjz 发表于 2013-11-24 12:51
哥,我试了一下,有些地方得稍作修改,字高在代码里要固定,先要把这条直线画出来,得到总长num,然后分 ...

你这样问太让人不好理解,不是搞结构的
  1. (defun c:tt (/ p1 p2 n1 n3 d an pcen txt h pl)
  2.   (while
  3.     (and
  4.       (setq p1 (getpoint "\nFirst Point<Exit>: "))
  5.       (setq p2 (getpoint p1 "\nSecond Point<Exit>: "))
  6.       (progn (grdraw p1 p2 1) t)
  7.       (setq N1 (getdist p1 "\nNum1 dist<Exit>: "))
  8.       (progn
  9.         (if (not
  10.               (setq
  11.                 N3 (getdist p2
  12.                             (strcat "\nNum3 dist<" (rtos n1 2 0) ">: ")
  13.                    )
  14.               )
  15.             )
  16.           (setq n3 n1)
  17.         )
  18.         (xdrx_polyline_make
  19.           (setq p1 (polar p1 (angle p1 p2) n1))
  20.           (setq p2 (polar p2 (angle p2 p1) n3))
  21.         )
  22.       )
  23.     )
  24.      (setq an        (XD::Geom:AngleFormat (angle p1 p2))
  25.            pcen        (xdrx_line_midp p1 p2)
  26.      )
  27.      (setq txt (xdrx_text_make
  28.                  pcen
  29.                  (strcat "分布筋" (rtos (+ (distance p1 p2) 300) 2 0))
  30.                  (getvar "textsize");_字高自己设定
  31.                  an
  32.                )
  33.      )
  34.      (xdrx_text_setvermode txt 1)
  35.      (xdrx_text_sethozmode txt 1)
  36.      (redraw)
  37.   )
  38.   (princ)
  39. )

点评

哥,我试了,就是这样子的。谢谢呐。就是不知道“字高自己设定在哪儿设定,我把textsize改成数字不管用”  详情 回复 发表于 2013-11-24 13:57
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-24 13:57:38 来自手机 | 显示全部楼层
st788796 发表于 2013-11-24 13:12
你这样问太让人不好理解,不是搞结构的

哥,我试了,就是这样子的。谢谢呐。就是不知道“字高自己设定在哪儿设定,我把textsize改成数字不管用”

点评

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-24 14:00:39 | 显示全部楼层
hphkjz 发表于 2013-11-24 13:57
哥,我试了,就是这样子的。谢谢呐。就是不知道“字高自己设定在哪儿设定,我把textsize改成数字不管用”

把 (getvar "textsize") 改成数字

点评

OK,完美运行,谢谢哥啦!哥,要是每次把num1和num2默认值都是第一次输入num1的值那就更棒啦!  详情 回复 发表于 2013-11-24 14:14
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 09:13 , Processed in 0.190187 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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