在CAD中,如何在这个矩形里面再画三个这样的矩形

 我来答
匿名用户
2016-11-25
展开全部
  AutoCAD再绘制一个矩形的话,使用偏移命令【OFFSET】或快捷键命令【O】

  如果有很多矩形要进行偏移的话,可以使用编程来实现,选择矩形,输入偏移距离就可以偏移完成。

  1
  2
  3
  4
  5
  6
  7
  8
  9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  
  (defun C:tes ( / #r1 &k1 &kw1 &ob1 &ob2 dis1 dis2 ent1 pt1 pt2 ss x)
  (if (null vlax-dump-object) (vl-load-com) );加载vlax函数
  (if (and (setq &kw1 (ssget '((0 . "LWPOLYLINE") (70 . 1))));选择封闭多段线
  (setq #r1 (getdist "\n请输入偏移距离"))
  (> #r1 0);距离是正值
  )
  (progn;;1
  (while (setq &k1 (ssname &kw1 0));对象分析
  (setq &kw1 (ssdel &k1 &kw1))
  (setq ss (mapcar 'cdr (vl-remove-if '(lambda (X) (/= 10 (car x))) (entget &k1))));取得多段线坐标
  (if (and (= (length ss) 4);如果是4个点,符合矩形一个条件;进入下一步
  (= (distance (car ss) (caddr ss)) (distance (cadr ss) (cadddr ss)));对角线相同
  )
  (progn;;2
  (setq &ob1 (vlax-ename->vla-object &k1))
  (vla-GetBoundingBox &ob1 'pt1 'pt2);提取包围框
  (setq pt1 (vlax-safearray->list pt1) pt2 (vlax-safearray->list pt2))
  (setq pt1 (mapcar '(lambda (x) (* x 0.5)) (mapcar '+ pt1 pt2)));取得矩形中心点
  (if (and (setq pt2 (inters (car ss) (caddr ss) (cadr ss) (cadddr ss)));对角线有交点
  (<= (distance pt1 pt2) 0.00001);对角线与中心点重合
  );确认是矩形
  (progn;;3
  (setq pt2 (mapcar '(lambda (x) (* x 0.5)) (mapcar '+ (car ss) (cadr ss))))
  (setq dis1 (distance pt1 pt2))
  (setq pt2 (mapcar '(lambda (x) (* x 0.5)) (mapcar '+ (caddr ss) (cadr ss))))
  (setq dis2 (distance pt1 pt2))
  (if (< dis2 dis1) (setq dis1 dis2) )
  (setq dis1 (* 0.1 dis1))
  (setq ent1 (entlast))
  (vla-offset &ob1 dis1)
  (if (and (setq ent1 (entnext ent1));4
  (setq dis1 (vlax-curve-getDistAtParam &ob1 (vlax-curve-getEndParam &ob1)))
  (> dis1 0)
  )
  (progn;;4
  (setq &ob2 (vlax-ename->vla-object ent1))
  (setq dis2 (vlax-curve-getDistAtParam &ob2 (vlax-curve-getEndParam &ob2)))
  (vla-delete &ob2)
  (if (> dis2 dis1) (vla-offset &ob1 #r1) (vla-offset &ob1 (* #r1 -1)) )
  );progn;4
  );if;4
  );progn;3
  );if;3
  );progn;2
  );if;2
  );while
  );progn;1
  );if;1;矩形的特点,对角线相同,4个点,对角线有交点并与中心点重合
  (prin1)
  );;复制到记事本,以【.lsp】为后缀命名,打开AutoCAD,autolisp加载,命令【TES】
  
追问

请问具体如何偏移呢?
我先画了外面的大矩形,  然后把它偏移缩小成这样

那 再接着怎么用偏移画出那三个相同大小的矩形,化成如问题那样的

刘城茂9
2016-11-25 · TA获得超过206个赞
知道小有建树答主
回答量:199
采纳率:50%
帮助的人:74.5万
展开全部
你可以使用偏移命令o ,将每个矩形再往里面偏移一定距离。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式