一、自动绘制出多个等半径圆相切
1.输入基准点baspt
2.输入小圆半径rad
3. 输入欲相切的圆的数量num
4.自动绘制出多个等半径圆相切
5. 涉及到相关变量,设定为baspt、rad、num、midpt、cenpt、kk、ang1、ang2

二、程序代码实现

三、测试及效果

测试一

四、程序优化与注意事项
1. (setq ang1 (/ (* pi 2)(* num 2)))可直接写为(setq ang1 (/ pi num))
2. (setq kk (/ rad (sin ang1))) 利用三角关系可以推算
3. 因为ang1+ang2=pi/2 所以(setq ang2 (- (/ pi 2)ang1))
或(setq ang2 (-(* pi 0.5))ang1)
4. Array命令后的七个自变量必须配合正常执行的顺序输入,必须严谨而不能打乱顺序(如下图)

所以用command函数调用Array命令

需要注意以下书写
① command函数调用AutoCAD命令,一定要加双引号,如“circle” “array”
② 复选项一定要加双引号,如“L” “P” “Y”
③ 用默认值,务必要加上连续两个双引号,如“”
④ (entlast)是Autolisp标准函数,可抓取画面中最后完成的对象,是很好用的技巧













![[GUET-CTF2019]re](https://img-blog.csdnimg.cn/cc3544bee5a24d09b9d077870161a868.png)





