5个回答
2015-09-29 · 知道合伙人软件行家
关注
展开全部
AutoCAD再绘制一个矩形的话,使用偏移命令【OFFSET】或快捷键命令【O】
如果有很多矩形要进行偏移的话,可以使用编程来实现,选择矩形,输入偏移距离就可以偏移完成。
(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】
展开全部
采用“偏移”。画好里面的矩形之后,偏移到矩形外面50mm就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先作一个矩形。然后使用偏移命令 O ,然后输入偏移距离50,然后选择偏移对象,然后指定偏移所在的一侧:点选原有矩形后再在矩形之外单击一下,OK了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这。。。
偏移就可以了
画好里面的矩形后,
输入快捷键o,空格。
它提示你输入偏移量,输25(也许你要的是50)。
然后点一下矩形,再在矩形外面随便一个点一下,就行了。
偏移就可以了
画好里面的矩形后,
输入快捷键o,空格。
它提示你输入偏移量,输25(也许你要的是50)。
然后点一下矩形,再在矩形外面随便一个点一下,就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询