明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1535|回复: 22

[提问] (求助)请教一下各位大神如何才能实现在矩形内生成直线

[复制链接]
发表于 2022-6-4 19:27 | 显示全部楼层 |阅读模式
10明经币
本帖最后由 999999 于 2022-6-4 19:29 编辑

各位大神们,晚上好:
      小弟请教一下各位大神,绘制对角矩形内等分两线及对角矩形内生成中线是否可以帮小弟实现一下
有空的大神看能不能帮忙实现一下,谢谢大家了

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

最佳答案

查看完整内容

(defun c:ttt(/ p1 p2 p3 p4 pa pb) (setq p1(getpoint) p3(getcorner p1) p2(list (car p3)(cadr p1)) p4(list (car p1)(cadr p3)) pa(mapcar '(lambda (a b)(* (+ a b) 0.5)) p1 p4) pb(mapcar '(lambda (a b)(* (+ a b) 0.5)) p2 p3) pc(mapcar '(lambda (a b)(* (+ a b) 0.5)) p1 p2) ...
发表于 2022-6-4 19:27 | 显示全部楼层
(defun c:ttt(/ p1 p2 p3 p4 pa pb)
        (setq
                p1(getpoint)
                p3(getcorner p1)
                p2(list (car p3)(cadr p1))
                p4(list (car p1)(cadr p3))
                pa(mapcar '(lambda (a b)(* (+ a b) 0.5)) p1 p4)
                pb(mapcar '(lambda (a b)(* (+ a b) 0.5)) p2 p3)
                                              pc(mapcar '(lambda (a b)(* (+ a b) 0.5)) p1 p2)
                                              pd(mapcar '(lambda (a b)(* (+ a b) 0.5)) p3 p4)
                                       
                       )
        (command "RECTANG" p1 p3)
              (if (>= (distance p1 p2)(distance p1 p4))
                                       
                                        (command "LINE" pa pb "")
                                        (command "LINE" pc pd "")
                                )
       
        
       
        (princ)
)
回复

使用道具 举报

发表于 2022-6-4 22:49 | 显示全部楼层
帮顶,期待高手出现,谢谢!
回复

使用道具 举报

 楼主| 发表于 2022-6-5 15:18 | 显示全部楼层
paulpipi 发表于 2022-6-4 22:49
帮顶,期待高手出现,谢谢!

,感谢帮顶
回复

使用道具 举报

发表于 2022-6-5 22:39 | 显示全部楼层
简单的尽可能自己写
回复

使用道具 举报

 楼主| 发表于 2022-6-6 09:19 | 显示全部楼层
xyp1964 发表于 2022-6-5 22:39
简单的尽可能自己写

院长大人,这个是论坛里找的代码,我把原代码删减了,只能看懂一点点,原来的效果是矩形内生成横向与竖向的十字,删减后,就一直是横向的,想让它根据条件生条竖向的,还不知道怎么写。
(defun c:ttt(/ p1 p2 p3 p4 pa pb)
        (setq
                p1(getpoint)
                p3(getcorner p1)
                p2(list (car p3)(cadr p1))
                p4(list (car p1)(cadr p3))
                pa(mapcar '(lambda (a b)(* (+ a b) 0.5)) p1 p4)
                pb(mapcar '(lambda (a b)(* (+ a b) 0.5)) p2 p3)
                       )
        (command "RECTANG" p1 p3)
        (command "LINE" pa pb "")
        (princ)
)

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2022-6-6 09:58 | 显示全部楼层
比较矩形长宽的大小 去判断矩形中间线是横的还是竖的
回复

使用道具 举报

发表于 2022-6-6 10:15 | 显示全部楼层

本帖子中包含更多资源

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

x
回复

使用道具 举报

 楼主| 发表于 2022-6-6 10:31 | 显示全部楼层
uualice2020 发表于 2022-6-6 09:58
比较矩形长宽的大小 去判断矩形中间线是横的还是竖的

您好,判断的语句我还不知道怎么写,您这个方法很好,我一开始想的是定义六个点,就是不知道怎么写,想起来简单,实现起来对于我来说有一定的难度
回复

使用道具 举报

 楼主| 发表于 2022-6-6 10:33 | 显示全部楼层

大神您好,谢谢您,展示的效果是我想要的,您可以发我一下嘛
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 03:46 , Processed in 0.272404 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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