再见熊猫衣服 发表于 2019-6-4 11:48:23

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

本帖最后由 再见熊猫衣服 于 2022-4-30 16:32 编辑

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

但是,这个画矩形的起点是该矩形的左边的中心点,
我希望能在这个程序上改进一下,要求如下:
命令REC,确定,鼠标指定矩形的起点,输入矩形长度(X轴绝对值),(此处的逗号不分英文逗号和汉字逗号)输入矩形矩形宽度(Y轴绝对值),确定。
矩形的方向由鼠标所在起点之外的4个象限决定。
————
非常感谢,希望能得到解决。

start4444 发表于 2019-6-4 16:58:47

本帖最后由 start4444 于 2019-6-6 11:22 编辑

再见熊猫衣服 发表于 2019-6-4 15:29
已经比较完美了,
请问长宽能否一次性输入呢?
支持大写逗号和小写逗号,

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

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

start4444 发表于 2019-6-5 11:50:51

再见熊猫衣服 发表于 2019-6-5 11:25
留个支付宝,我给你转10块钱辛苦费。。

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

start4444 发表于 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)
)

再见熊猫衣服 发表于 2019-6-4 11:49:34

@Gu_xl
呼叫。。。

alexmai 发表于 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
这样,可行?

Linhay 发表于 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块钱辛苦费。。
页: [1] 2 3
查看完整版本: 求大神帮忙写一个一键画矩形的小程序。。