明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4228|回复: 27

[提问] 求大神帮忙写一个一键画矩形的小程序。。

[复制链接]
发表于 2019-6-4 11:48:23 | 显示全部楼层 |阅读模式
本帖最后由 再见熊猫衣服 于 2022-4-30 16:32 编辑

求大神帮忙写一个一键画矩形的小程序。。
CAD自带的 REC ,画矩形非常麻烦,需要输入"@",
还要分辨英文逗号","和中文逗号",",
每次画CAD都是中文状态下按大小写来区别命令和汉字输入的。
所以导致出错率非常高,画个矩形要调整4次甚至以上。
___________
然后我来论坛查了一下,发现Gu_xl版主写的这个小程序非常好用,

但是,这个画矩形的起点是该矩形的左边的中心点,
我希望能在这个程序上改进一下,要求如下:
命令REC,确定,鼠标指定矩形的起点,输入矩形长度(X轴绝对值),(此处的逗号不分英文逗号和汉字逗号)输入矩形矩形宽度(Y轴绝对值),确定。
矩形的方向由鼠标所在起点之外的4个象限决定。
————
非常感谢,希望能得到解决。
发表于 2019-6-4 16:58:47 | 显示全部楼层
本帖最后由 start4444 于 2019-6-6 11:22 编辑
再见熊猫衣服 发表于 2019-6-4 15:29
已经比较完美了,
请问长宽能否一次性输入呢?
支持大写逗号和小写逗号,

加入了黄大师的提取数字函数,直接输入长高,中间用非数字隔开就行。

【把如果不输入长高就直接选点加进去了】

本帖子中包含更多资源

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

x

点评

很好用  发表于 2019-6-6 10:34
回复 支持 2 反对 0

使用道具 举报

发表于 2019-6-5 11:50:51 | 显示全部楼层
再见熊猫衣服 发表于 2019-6-5 11:25
留个支付宝,我给你转10块钱辛苦费。。

不需要的,只是举手之劳,自己在明经学到了很多,也希望在这能帮一下别人同时自己也会提高
回复 支持 1 反对 0

使用道具 举报

发表于 2019-6-4 14:29:25 | 显示全部楼层
(defun c:tt5 (/ d h p1 p2 p3 p1x p1y)
        (setq d (getdist"\n矩形长度:")  h (getdist"\n矩形高度:"))
        (while
                (setq        p1 (getpoint"\n选起点:") p2 (getcorner p1"\n选终点:")
                        p1x (car p1)
                        p1y (cadr p1)
                        ang (angle P1 P2))
                (cond
                        ((and (>= ang (* 0 pi)) (< ang (* 0.5 pi))) (setq p3 (list (+ p1x d) (+ p1y h))))
                        ((and (>= ang (* 0.5 pi)) (< ang (* 1 pi))) (setq p3 (list (- p1x d) (+ p1y h))))
                        ((and (>= ang (* 1 pi)) (< ang (* 1.5 pi))) (setq p3 (list (- p1x d) (- p1y h))))
                        ((and (>= ang (* 1.5 pi)) (< ang (* 2 pi))) (setq p3 (list (+ p1x d) (- p1y h))))
                )
                p3 (command "RECTANG" "non" p1 "non" p3))
        (princ)
)
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-6-4 11:49:34 | 显示全部楼层
@Gu_xl
呼叫。。。
发表于 2019-6-4 13:08:31 | 显示全部楼层
很少画矩形,就算要画矩形,基本都是插块代替的

弄一个1x1的矩形-名字叫11,然后把这个块放入cad常用的路径

插入(-insert)这个块,变x轴,y轴比例就可以,必要时还可以炸开
 楼主| 发表于 2019-6-4 15:29:50 | 显示全部楼层
start4444 发表于 2019-6-4 14:29
(defun c:tt5 (/ d h p1 p2 p3 p1x p1y)
        (setq d (getdist"\n矩形长度:")  h (getdist"\n矩形高度:"))
         ...

已经比较完美了,
请问长宽能否一次性输入呢?
支持大写逗号和小写逗号,
400,600
这样,可行?
发表于 2019-6-4 16:57:39 | 显示全部楼层
(command "rectang"pause "d" pause pause)
 楼主| 发表于 2019-6-5 11:24:57 | 显示全部楼层
start4444 发表于 2019-6-4 16:58
加入了黄大师的提取数字函数,直接输入长高,中间用非数字隔开就行。

好用,非常感谢。。。
 楼主| 发表于 2019-6-5 11:25:40 | 显示全部楼层
start4444 发表于 2019-6-4 16:58
加入了黄大师的提取数字函数,直接输入长高,中间用非数字隔开就行。

留个支付宝,我给你转10块钱辛苦费。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 08:49 , Processed in 0.179015 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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