找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: shqvc

[已解决] 今天申请两个功能 希望大神可以看一下

[复制链接]

已领礼包: 586个

财富等级: 财运亨通

发表于 2019-7-6 17:30:19 | 显示全部楼层
本帖最后由 王鹏_pBZlo 于 2019-7-6 17:47 编辑

给你来一个移动圆或圆弧相切的,移动到最近的相切点,切点可能不在圆弧上而在圆弧的延长线上
(defun c:tt( / arc1 arc2 py par1 par2 r1 r2 c1 c2 temp1 temp2 intpt p1 p2)
        (setq arc1 (car (entsel "\n选择圆或圆弧:")))
        (setq arc2 (car (entsel "\n移动到圆或圆弧:")))
        (while (and (/= py "H") (/= py "V"))
                (setq py (strcase (getstring "\n[水平移动(H)/垂直移动(V)]:")))
        )
        (setq par1 (entget arc1) par2 (entget arc2))
        (setq r1 (cdr (assoc 40 par1)) r2 (cdr (assoc 40 par2)))
        (setq c1 (cdr (assoc 10 par1)) c2 (cdr (assoc 10 par2)))
        (entmake (list (cons 0 "CIRCLE") (cons 10 c2) (cons 40 (+ r1 r2)))) (setq temp1 (entlast))
        (cond         ((= py "H") (entmake (list (cons 0 "LINE") (cons 10 c1) (cons 11 (list (+ (nth 0 c1) 10) (nth 1 c1) (nth 2 c1))))) (setq temp2 (entlast)))
                ((= py "V") (entmake (list (cons 0 "LINE") (cons 10 c1) (cons 11 (list (nth 0 c1) (+ 10 (nth 1 c1)) (nth 2 c1))))) (setq temp2 (entlast)))
        )        
        (setq intpt (vlax-invoke (vlax-ename->vla-object temp2) 'IntersectWith (vlax-ename->vla-object temp1) acextendthisentity))
        (entdel temp1) (entdel temp2)
        (setq p1 (list (nth 0 intpt)(nth 1 intpt)(nth 2 intpt)) p2 (list (nth 3 intpt)(nth 4 intpt)(nth 5 intpt)))
        (if (< (distance c1 p1) (distance c1 p2)) (setq c1 p1) (setq c1 p2))
        (entmod (subst (cons 10 c1) (assoc 10 par1) par1))
        (princ)
)

点评

我来试一下 这个圆和圆相切的工具很好用 真的很棒 如果能让一组跟着一起动就好了 不过这样也很棒了  详情 回复 发表于 2019-7-7 20:18
我来试一下  详情 回复 发表于 2019-7-7 19:08
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 586个

财富等级: 财运亨通

发表于 2019-7-6 18:38:01 | 显示全部楼层
圆弧或圆移动到直线相切
(defun c:tt1( / arc1 lin2 py par1 par2 c1 p1 p2 ang c2 intpt intpt1temposm)
        (setq arc1 (car (entsel "\n选择圆或圆弧:")))
        (setq lin2 (car (entsel "\n移动到直线:")))
        (while (and (/= py "H") (/= py "V"))
                (setq py (strcase (getstring "\n[水平移动(H)/垂直移动(V)]:")))
        )
        (command "undo" "be")
        (setq temposm (getvar "osmode"))
        (setq par1 (entget arc1) par2 (entget lin2))
        (setq c1 (cdr (assoc 10 par1)))
        (setq p1 (cdr (assoc 10 par2)) p2 (cdr (assoc 11 par2)))
        (setq ang (+ (/ pi 2.0) (angle p1 p2)))
        (setq c2 (polar c1 ang 10))
        (entmake (list (cons 0 "LINE") (cons 10 c1) (cons 11 c2)))
        (setq intpt (vlax-invoke (vlax-ename->vla-object (entlast)) 'IntersectWith (vlax-ename->vla-object arc1) acextendboth))
        (setq intpt1 (vlax-invoke (vlax-ename->vla-object (entlast)) 'IntersectWith (vlax-ename->vla-object lin2) acextendboth))
        (setq p1 (list (nth 0 intpt)(nth 1 intpt)(nth 2 intpt)) p2 (list (nth 3 intpt)(nth 4 intpt)(nth 5 intpt)))
        (if (> (distance intpt1 p1) (distance intpt1 p2)) (setq p1 p2))
        (entdel (entlast))
        (cond         ((= py "H") (entmake (list (cons 0 "LINE") (cons 10 p1) (cons 11 (list (1+ (nth 0 p1)) (nth 1 p1) (nth 2 p1))))))
                ((= py "V") (entmake (list (cons 0 "LINE") (cons 10 p1) (cons 11 (list (nth 0 p1) (1+ (nth 1 p1)) (nth 2 p1))))))
        )       
        (setq intpt (vlax-invoke (vlax-ename->vla-object (entlast)) 'IntersectWith (vlax-ename->vla-object lin2) acextendboth))
        (entdel (entlast))
        (setvar "osmode" 0)
        (command "move" arc1 "" p1 intpt)
        (setvar "osmode" temposm)
        (command "undo" "e")
        (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 128个

财富等级: 日进斗金

 楼主| 发表于 2019-7-7 19:08:40 | 显示全部楼层
王鹏_pBZlo 发表于 2019-7-6 17:30
给你来一个移动圆或圆弧相切的,移动到最近的相切点,切点可能不在圆弧上而在圆弧的延长线上
(defun c:tt( / ...

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

使用道具 举报

已领礼包: 128个

财富等级: 日进斗金

 楼主| 发表于 2019-7-7 20:18:59 | 显示全部楼层
王鹏_pBZlo 发表于 2019-7-6 17:30
给你来一个移动圆或圆弧相切的,移动到最近的相切点,切点可能不在圆弧上而在圆弧的延长线上
(defun c:tt( / ...

我来试一下    这个圆和圆相切的工具很好用  真的很棒   如果能让一组跟着一起动就好了  不过这样也很棒了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 586个

财富等级: 财运亨通

发表于 2019-7-7 20:42:20 来自手机 | 显示全部楼层
shqvc 发表于 2019-7-7 20:18
我来试一下    这个圆和圆相切的工具很好用  真的很棒   如果能让一组跟着一起动就好了  不过这样也很棒 ...

一组跟同一个圆相切容易实现,各自对应就不好判断了
来自: 微社区

点评

看不懂没有事 我们可以交流一下 最好是QQ或是微信 这样交流还快 比论坛快也更方便  详情 回复 发表于 2019-7-11 12:53
有联系方式吗 如果有的话 给一个 您可以把我的那个断线的也解决一下  详情 回复 发表于 2019-7-11 10:29
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 128个

财富等级: 日进斗金

 楼主| 发表于 2019-7-11 10:29:03 | 显示全部楼层
王鹏_pBZlo 发表于 2019-7-7 20:42
一组跟同一个圆相切容易实现,各自对应就不好判断了

有联系方式吗     如果有的话   给一个  您可以把我的那个断线的也解决一下

点评

你那个断线的描述看不懂  发表于 2019-7-11 12:38
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 128个

财富等级: 日进斗金

 楼主| 发表于 2019-7-11 12:53:05 | 显示全部楼层
王鹏_pBZlo 发表于 2019-7-7 20:42
一组跟同一个圆相切容易实现,各自对应就不好判断了

看不懂没有事   我们可以交流一下   最好是QQ或是微信   这样交流还快  比论坛快也更方便
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

发表于 2019-9-25 00:59:57 来自手机 | 显示全部楼层
不知道说的是什么
来自: 微社区

点评

我们行业不同 所有您不知道  详情 回复 发表于 2019-9-25 10:27
我们行业不同 所有您不知道  详情 回复 发表于 2019-9-25 10:25
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 128个

财富等级: 日进斗金

 楼主| 发表于 2019-9-25 10:25:34 | 显示全部楼层
lsthz 发表于 2019-9-25 00:59
不知道说的是什么

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

使用道具 举报

已领礼包: 128个

财富等级: 日进斗金

 楼主| 发表于 2019-9-25 10:27:15 | 显示全部楼层
lsthz 发表于 2019-9-25 00:59
不知道说的是什么

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 19:31 , Processed in 0.398665 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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