明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5149|回复: 20

求一个结构用的钢筋断点lisp程序

[复制链接]
发表于 2014-6-24 16:53 | 显示全部楼层 |阅读模式
10明经币
本帖最后由 石井鱼 于 2014-6-25 10:06 编辑

本人菜鸟,画图时经常遇到画钢筋斜钩问题,苦于每次都要先画短线,再倒角,拉长度,繁琐不已,期盼哪位高手解决此问题,不胜感激!(TSSD程序有类似功能“斜钩断点”,但必须是PL线,不是很方便)具体可见附件CAD。
附件: 您需要 登录 才可以下载或查看,没有账号?注册
发表于 2014-6-24 16:53 | 显示全部楼层
本帖最后由 q3_2006 于 2014-6-25 12:23 编辑
  1. (defun c:tt ( / e en la p pp pt pt1 pt2 px)
  2. (defun mkline (la pt1 pt2) (entmakex (list '(0 . "LINE") (cons 8 la) (cons 10 pt1) (cons 11 pt2))))
  3.   (vl-load-com)
  4.   (while (setq en (entsel "\n选择钢筋断点:")
  5.   pt (getpoint "\n点取弯钩方向:")
  6.   )
  7.   (setq e (car en)
  8.     la (cdr (assoc 8 (entget e)))
  9.     p (vlax-curve-getClosestPointTo e (cadr en))
  10.     px (vlax-curve-getClosestPointTo e pt)
  11.     pp (polar px (angle px p) 1e6)
  12.   )
  13.     (cond
  14.       ((equal (* 0.25 pi) (angle p pt) (* 0.249 pi)) (mkline la p (polar p (* 0.25 pi) 100)) (vl-cmdf "break" (list e p) pp))
  15.       ((equal (* 0.75 pi) (angle p pt) (* 0.249 pi)) (mkline la p (polar p (* 0.75 pi) 100)) (vl-cmdf "break" (list e p) pp))
  16.       ((equal (* 1.25 pi) (angle p pt) (* 0.249 pi)) (mkline la p (polar p (* 1.25 pi) 100)) (vl-cmdf "break" (list e p) pp))
  17.       ((equal (* 1.75 pi) (angle p pt) (* 0.249 pi)) (mkline la p (polar p (* 1.75 pi) 100)) (vl-cmdf "break" (list e p) pp))
  18.       (t (exit))
  19.     )
  20.   )
  21. )

评分

参与人数 1金钱 +10 收起 理由
石井鱼 + 10 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-6-25 09:07 | 显示全部楼层
q3_2006 发表于 2014-6-24 17:57

非常感谢“q3_2006”鼎力相助,可能我没有表达清楚,那个形成的钩是在鼠标点击的地方形成,并不是直线的末端头,加钩的同时把45度角另一侧135度的线段截断并删除,不知能否改进,谢谢
回复

使用道具 举报

 楼主| 发表于 2014-6-25 09:47 | 显示全部楼层
另外斜钩在直线中间形成,钩的方向有上下左右,能否鼠标点击4个方向确定

点评

不是更简单..还少几行代码...  发表于 2014-6-25 11:40
回复

使用道具 举报

发表于 2014-6-25 11:56 | 显示全部楼层
石井鱼 发表于 2014-6-25 09:07
非常感谢“q3_2006”鼎力相助,可能我没有表达清楚,那个形成的钩是在鼠标点击的地方形成,并不是直线的末 ...

上面代码改好了....
回复

使用道具 举报

发表于 2014-6-25 11:57 | 显示全部楼层
加钩的同时把45度角另一侧135度的线段截断并删除....上个图...看不懂....
回复

使用道具 举报

发表于 2014-6-25 11:58 | 显示全部楼层
关闭捕捉....忘了....
回复

使用道具 举报

 楼主| 发表于 2014-6-25 12:19 | 显示全部楼层
q3_2006 发表于 2014-6-25 11:57
加钩的同时把45度角另一侧135度的线段截断并删除....上个图...看不懂....

高手果然不一般!非常接近了,示意一下,就是把剩下的截掉(云线部分),倒个角也行

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2014-6-25 12:20 | 显示全部楼层
石井鱼 发表于 2014-6-25 12:19
高手果然不一般!非常接近了,示意一下,就是把剩下的截掉(云线部分),倒个角也行

代码已经改了...
回复

使用道具 举报

 楼主| 发表于 2014-6-25 12:24 | 显示全部楼层
非常完美的程序,感激涕零!
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-20 17:42 , Processed in 0.253002 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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