明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 964|回复: 7

[源码] 快速引线求助

[复制链接]
发表于 2021-9-3 21:29:07 | 显示全部楼层 |阅读模式
本帖最后由 alexmai 于 2021-9-3 21:41 编辑




论坛引线程序有点复杂,想弄个简单的,自己捣鼓了整个晚上,还是弄不出来,向各位求助

(defun c:ws1(/ ent)
  (command "qLEADER" (setq pt1 (getpoint))  (setq pt2 (getpoint)) (setq pt (getpoint)) "")
  (princ)
)

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2021-9-6 12:41:59 | 显示全部楼层
(defun c:tt5 (/ ang entdate entname entype p10 p11 pt1 pt2 pt3)
(setq entname (car (entsel "\n选择射线:")) entdate (entget entname) p10 (cdr (assoc 10 entdate)) p11 (cdr (assoc 11 entdate)) p11 (list (+ (car p10) (car p11)) (+ (cadr p10) (cadr p11))) ang (angle p10 p11))       
(while (setq pt1 (getpoint "\n选择点位:"))
(setq pt2 (inters pt1 (polar pt1 (+ ang (* 0.5 pi)) 111) p10 p11 nil) pt3 (polar pt2 ang 5))       
(entmake (list '(0 . "LEADER") '(100 . "AcDbEntity") '(100 . "AcDbLeader")  (cons 10 pt1) (cons 10 pt2)
   (cons 10 pt3)
    )
  )       
)       
(princ)       
)
 楼主| 发表于 2021-9-6 17:06:10 | 显示全部楼层
通过这个程序学会 polar,大感谢!
 楼主| 发表于 2021-9-6 17:17:22 | 显示全部楼层
本帖最后由 alexmai 于 2021-9-6 17:22 编辑
start4444 发表于 2021-9-6 12:41
(defun c:tt5 (/ ang entdate entname entype p10 p11 pt1 pt2 pt3)
(setq entname (car (entsel "\n选择 ...


测试时发现这个问题
水平方向的 引线不需要出头,感谢

本帖子中包含更多资源

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

x
 楼主| 发表于 2021-9-6 18:15:14 | 显示全部楼层
start4444 发表于 2021-9-6 12:41
(defun c:tt5 (/ ang entdate entname entype p10 p11 pt1 pt2 pt3)
(setq entname (car (entsel "\n选择 ...

我加了个判断(if (= ang 0) 搞定了,大感谢!

评分

参与人数 1明经币 +1 收起 理由
start4444 + 1 赞一个!

查看全部评分

发表于 2021-12-10 10:47:02 | 显示全部楼层
alexmai 发表于 2021-9-6 18:15
我加了个判断(if (= ang 0) 搞定了,大感谢!

你说的(if (= ang 0)是加在哪里的  可以发完整源码给我吗?谢谢
 楼主| 发表于 2021-12-11 10:58:42 | 显示全部楼层
pizi158545086 发表于 2021-12-10 10:47
你说的(if (= ang 0)是加在哪里的  可以发完整源码给我吗?谢谢
  1. ;;;引线小程序
  2. (defun c:tt (/ ang entdate entname entype p10 p11 pt1 pt2 pt3)
  3. (setq entname (car (entsel "\n选择射线:")) entdate (entget entname) p10 (cdr (assoc 10 entdate)) p11 (cdr (assoc 11 entdate)) p11 (list (+ (car p10) (car p11)) (+ (cadr p10) (cadr p11))) ang (angle p10 p11))
  4. (if (= ang 0)
  5. (while (setq pt1 (getpoint "\n选择点位:"))
  6. (setq pt2 (inters pt1 (polar pt1 (+ ang (* 0.5 pi)) 111) p10 p11 nil) pt3 (polar pt2 ang 3))      
  7. (entmake (list '(0 . "LEADER") '(100 . "AcDbEntity") '(100 . "AcDbLeader")  (cons 10 pt1) (cons 10 pt2)
  8.    (cons 10 pt3)
  9.        )
  10.   )
  11. );while
  12. (while (setq pt1 (getpoint "\n选择点位:"))
  13. (setq pt2 (inters pt1 (polar pt1 (+ ang (* 0.5 pi)) 111) p10 p11 nil))      
  14. (entmake (list '(0 . "LEADER") '(100 . "AcDbEntity") '(100 . "AcDbLeader")  (cons 10 pt1) (cons 10 pt2)
  15.     )
  16.   )   
  17. );while
  18. );if  


发表于 2021-12-11 11:07:29 | 显示全部楼层

非常感谢  好人一生平安
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 01:54 , Processed in 0.219571 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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