明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: andyzha

[提问] 求助画矩形的改造优化

[复制链接]
发表于 2020-4-16 15:27:27 | 显示全部楼层
andyzha 发表于 2020-4-16 13:15
能在优化一下吗,空格尺寸以后直接输入20/30或者20,30就直接画20*30的矩形了。

5楼应该可以结合我那个做一下,只是他那个代码比我的高级多了!我还真不会呢!
发表于 2020-4-16 17:51:56 | 显示全部楼层
本帖最后由 lee50310 于 2020-4-16 18:56 编辑
1.能在优化一下吗,空格尺寸以后直接输入20/30或者20,30就直接画20*30的矩形了。
2.能加入右键模式更好,默认是选两点画矩形,右键是输入20/30模式画矩形。

問題1.輸入尺寸後 總要把矩形框插入圖面,指定位置因此需要插入點詢問
        除非你的插入點都一律固定在座標原點 (0,0)位置

       也許可改另一種方式 把常用的一個尺寸加入到詢問尺寸輸入內
      例: "輸入 長/高 畫矩形模式< 30/50 >:  "  
            若不需輸入其他尺寸按 空格或enter鍵 點選插入點繪出 30*50矩型

問題2."[默认是选两点画矩形,右键是输入20/30模式画矩形。]"
        若要兩點畫矩型 ,就不能輸入固定尺寸例:20/30
        因為尺寸要依谁為準呢?


发表于 2020-4-16 20:34:04 | 显示全部楼层
本帖最后由 cq4920 于 2020-4-16 21:42 编辑
andyzha 发表于 2020-4-16 13:16
能加入右键模式更好,默认是选两点画矩形,右键是输入20/30模式画矩形。

参考了黄大师的代码终于实现了!
可以空格输入尺寸也可以回车或者右键输入尺寸
尺寸数字中间可以是任意符号
这里有个瑕疵 就是当指定下一点的时候 如果不小心输入了字母  那么安空格就会提示错误
如果可以加入只要不是点击下一点  不管是按空格  还是不小心输入了文字再按空都转到输入尺寸画矩形就好了


优化一下 防止习惯按D不能继续命令!如果按D可以继续按原始方法继续画!

  1. <div class="blockcode"><blockquote>(defun C:rec(/ x y pta ptb)
  2.   (setq pta (getpoint "\n指定基点"))
  3.   (initget "A D R")
  4.   (if (setq ptb (getcorner pta "\n>>>指定下一点:【空格:尺寸输入】[面积(S)/尺寸(D)/旋转(R)]:"))
  5.     (command "rectang" pta ptb)
  6.     (progn
  7.       (setq lst (getNumberS  (setq ss (getstring "\n 宽 & 高 : <30*30>"))))        
  8.      (setq x (car lst))
  9.     (setq y (cadr lst))      
  10.       (command "rectang" pta "d" x y pause)
  11.     )  
  12.   )   
  13.   (princ)  
  14. )




;;自贡黄明儒--提取数字
(defun getNumberS (str / ASC N STR1 STRN)
  (setq n 1)
  (setq str1 "")
  (repeat (strlen str)
    (setq strn (substr str n 1))
    (setq Asc (ascii strn))
    (if  (or (and (> Asc 47) (< Asc 58)) (= Asc 46))
      (setq str1 (strcat str1 strn))
      (setq str1 (strcat str1 " "))
    )
    (setq n (1+ n))
  )
  (strinSplitS str1)
)
(defun strinSplitS (str / lst)
  (setq str (STRCAT "(" str ")"))
  (setq lst (read str))
  (setq lst (mapcar 'VL-PRINC-TO-STRING lst))
)



本帖子中包含更多资源

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

x
发表于 2020-4-16 21:09:16 | 显示全部楼层
数字+空格+数字 出现“未知命令+数字”,楼上在看看哪里错误
发表于 2020-4-16 21:40:23 | 显示全部楼层
bai2000 发表于 2020-4-16 21:09
数字+空格+数字 出现“未知命令+数字”,楼上在看看哪里错误

数字+空格+数字?不知道你是怎么操作的呢! 又稍微更新了一下  防止习惯按D不能继续命令!如果按D可以继续按原始方法继续画!
发表于 2020-4-22 06:09:19 | 显示全部楼层
大神,能否 改成像画直线的方法,点击两点,出现一个宽度30mm,高度是刚才 点击的两点的距离 的矩形,生成的矩形的位置可指定在 刚才点击的两点 的左侧或者右侧。
发表于 2020-5-4 16:36:15 | 显示全部楼层

出错了, 错误: 输入的字符串有缺陷
发表于 2021-5-13 15:41:28 | 显示全部楼层

这个能不能在输入长宽尺寸后,把文字带在矩形框中间如30*50 中间的“*”可以自由设置?
发表于 2021-5-14 13:22:28 | 显示全部楼层
300长,900高,

输入矩形命令: @300,900

就搞定的事情,弄个程序多此了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-24 14:31 , Processed in 0.168222 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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