CAD中怎么画等位置圆?
发布网友
发布时间:2022-04-21 00:22
我来回答
共5个回答
热心网友
时间:2023-07-08 12:49
要完成如题的操作,需要利用定距等分点,方法具体如下:
第一步:新建或打开AutoCAD文档,如图,格式-点样式,打开“点样式”对话框。
第二步:如图,单击选取点样式,再单击确定按钮。
第三步:如图,单击“点”按钮右侧的展开按钮,再单击“定距等分”,移动鼠标至图中直线附近,单击选取等分对象。
第四步:如图,输入距离20,按回车键确认。
第五步:如图所示,以等分点为圆心绘制圆。
热心网友
时间:2023-07-08 12:49
;一般的情况下,等距离绘制圆,要先等分对象,然后在等分点上绘制圆,不过效率低下,用程序的话,就快了很多。
;这个程序等分对象为:直线,多段线,圆,圆弧,样条曲线
(defun &ob1->ename (&_obj1 / &_obj1);变VLA
(if (= (type &_obj1) 'ENAME) (vlax-ename->vla-object &_obj1) (vlax-vla-object->ename &_obj1) )
)
(defun &ob1->ap (&_obj1 &_dist1 / &_obj1 &_dist1)
(vlax-curve-getPointAtDist &_obj1 &_dist1)
)
(defun &ob1->dist (&_obj1 / &_obj1)
(vlax-curve-getdistatparam &_obj1 (vlax-curve-getendparam &_obj1))
)
(defun &ob1->sta (&_obj1 / &_obj1)
(vlax-curve-getStartPoint &_obj1)
)
(defun C:tes ( / &dis1 &dis2 &dis3 &dis4 &k1 &kw1 &ob1 &p1)
(vl-load-com)
(if (and (setq &dis1 (getdist "\n请输入等距离长度")) (> &dis1 0) )
(progn
(if (and (setq &dis2 (getdist "\n请输入要绘制圆的半径")) (> &dis2 0))
(progn
(princ "\n请选择圆,圆弧,直线,多段线,样条曲线")
(if (setq &kw1 (ssget '((0 . "CIRCLE,ARC,LINE,LWPOLYLINE,SPLINE"))));3
(progn
(setq &k1 (ssname &kw1 0))
(while &k1
(setq &kw1 (ssdel &k1 &kw1) &dis3 &dis1 &ob1 (&ob1->ename &k1) &dis4 (&ob1->dist &ob1) &p1 (&ob1->sta &ob1))
(if (>= &dis4 &dis3) (entmake (list '(0 . "CIRCLE") '(62 . 1) (cons 10 &p1) (cons 40 &dis2))) );起点位置绘制一个圆,颜色1,如果不绘制就删除这句话
(while (>= &dis4 &dis3)
(setq &p1 (&ob1->ap &ob1 &dis3));取得等距一点
(entmake (list '(0 . "CIRCLE") (cons 10 &p1) (cons 40 &dis2)));绘制圆
(setq &dis3 (+ &dis3 &dis1));下一点
);while
(setq &k1 (ssname &kw1 0))
);while
);progn;3
);if;3
);progn;2
);if;2
);progn;1
);if;1
(princ)
);复制到记事本,以【.lsp】为后缀命名,autolisp加载了,命令为【TES】;等分距离绘制圆
热心网友
时间:2023-07-08 12:50
先在直线上用圆的直径为间隔采用“等距等分”方式画“点”,再以这些点为圆心画圆。
热心网友
时间:2023-07-08 12:51
如果知道间距的话,还是阵列简单,来得快。
热心网友
时间:2023-07-08 12:51
沿直线的话,阵列就行