明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2517|回复: 12

[提问] 矩形25x50,输入相对坐标的时候就输入25x50, 而不用输入@25x50,用lsp程序完成

[复制链接]
发表于 2014-3-25 09:54:10 | 显示全部楼层 |阅读模式
本帖最后由 李青松 于 2014-3-27 09:35 编辑

输入矩形命令,选择第1点,再选择第二点,第二点 可以在屏幕上指定,
第二点 也可以输入相对坐标 , 输入相对坐标 的时候让程序默认就是
相对坐标。比如建矩形25x50,输入相对坐标的时候就输入25,50,
而不用输入@25,50,这样就相对快捷一些。用lsp程序完成。





发表于 2014-3-25 10:42:50 | 显示全部楼层
干脆为您写的CAD算了

点评

写得好,是大家共享的。  发表于 2014-3-27 09:36
发表于 2014-3-25 11:24:29 | 显示全部楼层
哥们,应该是@20,50

点评

说的对  发表于 2014-3-26 09:39
发表于 2014-3-25 11:25:00 | 显示全部楼层
就多一个@还要编程呀?
发表于 2014-3-25 12:11:38 | 显示全部楼层
429014673 发表于 2014-3-25 11:25
就多一个@还要编程呀?

这个真有必要啊....编程就是让工作更快
发表于 2014-3-25 12:14:15 | 显示全部楼层
本帖最后由 ysq101 于 2014-3-25 12:15 编辑
  1. ;----------------矩形--------------
  2. (defun c:recc ()
  3.   (setq cen (getpoint "\n请输入矩形起点"))
  4.   (setq xx (car cen)
  5.         yy (cadr cen)
  6.         )
  7.   (setq X- (getdist  "\n请输入长度"))
  8. (if (= x- nil) (quit ))
  9.    (setq y- (getdist  "\n请输入宽度"))
  10. (if (= y- nil) (quit ))
  11.   (setq pt2 (list (+ x- xx)(+ y- yy)))
  12.   (command  "RECTANG" cen pt2 )
  13.   (princ)
  14.   )
这是新手级别写的小程序.....笑纳吧
不像你说的那样  25X25
这直接25回车
          25回车

点评

这个程序有可取之处,但是丢失了rectang命令的另一个功能,就是点第2点的时候可以在屏幕上点。望修改。 纠正:我提的问题应该是25,50 是我失误了。不知道最上面的25x50能修改成25,50吗  发表于 2014-3-26 09:37
发表于 2014-3-25 13:26:01 | 显示全部楼层
  1. ;; 需要e派工具箱(XCAD)的支持:http://yunpan.cn/QXQKsW9gAPmpF
  2. ;; 画矩形
  3. (defun c:tt ()
  4.   (xyp-CMDLA0)
  5.   (setq STR (USTR 1 "矩形尺寸" STR NIL);25x50 25-50 25\50
  6.         lst (xyp-Get-HzEngNum str 3)
  7.         ww  (distof (car lst))
  8.         hh  (distof (cadr lst))
  9.   )
  10.   (while (setq p1 (getpoint "\n左下角基点<退出>: "))
  11.     (setq p2 (xyp-Pt2XY p1 ww hh)
  12.           s1 (xyp-rectang p1 p2)
  13.     )
  14.   )
  15.   (xyp-CMDLA1)
  16. )

点评

这样测试有点麻烦,希望上源程序  发表于 2014-3-26 09:52
 楼主| 发表于 2014-3-26 09:35:40 | 显示全部楼层
本帖最后由 李青松 于 2014-3-26 09:38 编辑
ysq101 发表于 2014-3-25 12:11
这个真有必要啊....编程就是让工作更快
是的,这个想法有价值
 楼主| 发表于 2014-3-26 09:36:48 | 显示全部楼层
ysq101 发表于 2014-3-25 12:11
这个真有必要啊....编程就是让工作更快

我觉得这个想法,有价值
发表于 2014-3-26 12:15:57 | 显示全部楼层
本帖最后由 ysq101 于 2014-3-26 12:17 编辑

(defun c:recc ( / pt2 pt3 cen yy xx)
(if (= nil (setq pt3 (getpoint "\n请输入矩形对角点<回车进入输入长宽模式>"(setq cen (getpoint "\n请输入矩形起点")))))
  (progn
    (setq xx (car cen)
          yy (cadr cen))
  (setq X- (getdist  "\n请输入长度"))
(if (= x- nil) (quit ))
   (setq y- (getdist  "\n请输入宽度"))
(if (= y- nil) (quit ))
  (setq pt2 (list (+ x- xx)(+ y- yy)))
  (command  "RECTANG" cen pt2 )
  )
    (progn
  (command  "RECTANG" cen pt3 )
  )
    )
  
  (princ)
  )

你看这样行不????????新手只能帮到这了
纠正:我提的问题应该是25,50 是我失误了。不知道最上面的25x50能修改成25,50吗
这句是什么意思????难道按一下回车  不比输入一个 , 快吗??


点评

25x50也没问题  发表于 2014-3-26 18:23
新手能写成这样已经难得了  发表于 2014-3-26 17:42
我最早提问题的时候,写错了  发表于 2014-3-26 17:29
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-25 05:32 , Processed in 0.919656 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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