明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2178|回复: 18

[源码] 四个圆包围矩形且与矩形边相切

[复制链接]
发表于 2015-5-24 10:40 | 显示全部楼层 |阅读模式
本帖最后由 荒野孤行 于 2015-5-24 21:54 编辑

想起刚开始学AutoCAD的时候,都是画的一些有数学关系的图,那时有很多图形都没画出来。现在用lisp写出来,感觉so easy!

源码如下:
  1. ;;;*****矩形4圆相切 程序开始*****
  2. (defun c:t1 ()
  3.   (setvar "cmdecho" 0)
  4.   (setvar "osmode" 15359)
  5.   (princ "\n功能:通过矩形绘制出与其四边相切,且四圆两两相切的圆.")
  6.   (initget 7)
  7.   (setq l_len (getdist "\n请输入矩形的长度:"))
  8.   (initget 7)
  9.   (setq l_wid (getdist "\n请输入矩形的宽度:"))
  10.   (initget 3)
  11.   (setq pt1 (getpoint "\n请指定插入点:"))
  12.   (setvar "osmode" 0)
  13.   (setq L1 (* l_wid 0.5))
  14.   (setq L2 (* l_len 0.5))
  15.   (setq a (* 2.0 L1))
  16.   (setq b (+ (* L2 L2) (* L1 L1 -1.0) (* 4.0 L1 L2)))
  17.   (setq c (* 2.0 L1 L1 L2))
  18.   (setq r2 (/ (+ b (sqrt (+ (* b b) (* 4.0 a c)))) (* 2.0 a) 1.0))
  19.   (setq r1 (+ (/ (* L1 L1) r2 1.0) (* 2.0 L1)))
  20.   (setq pt2 (polar pt1 0 l_len))
  21.   (setq pt12 (polar pt1 0 (* l_len 0.5)))
  22.   (setq pt_r2 (polar pt12 (angtof "90") r2))
  23.   (setq pt3 (polar pt2 (angtof "-90") l_wid))
  24.   (setq pt4 (polar pt1 (angtof "-90") l_wid))
  25.   (setq pt34 (polar pt1 (angtof "-90") (* l_wid 0.5)))
  26.   (setq pt_r1 (polar pt34 (angtof "180") r1))
  27.   (command "color" 1)
  28.   (command "PLINE" pt1 pt2 pt3 pt4 "c")
  29.   (command "color" 3)
  30.   (command "CIRCLE" pt_r2 r2)
  31.   (command "MIRROR" (entlast) "" pt34 pt_r1 "")
  32.   (command "color" 4)
  33.   (command "CIRCLE" pt_r1 r1)
  34.   (command "MIRROR" (entlast) "" pt12 pt_r2 "")
  35.   (command "color" "Bylayer")
  36.   (setvar "osmode" 15359)
  37.   (princ)
  38. )
  39. ;;;*****矩形4圆相切 程序结束*****

本帖子中包含更多资源

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

x

点评

都是唯一解?  发表于 2015-5-24 19:58
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2016-5-29 18:26 | 显示全部楼层
学习学习!谢谢
发表于 2016-2-14 21:11 | 显示全部楼层
学习学习!谢谢
发表于 2016-2-14 13:54 | 显示全部楼层
支持下,希望有更多好的程序
发表于 2015-11-10 15:28 | 显示全部楼层
看看源码情况。
发表于 2015-11-10 15:06 | 显示全部楼层
谢谢分享!!!
发表于 2015-11-9 18:32 来自手机 | 显示全部楼层
楼主的好代码,受教了,回去好好研究研究!
发表于 2015-11-9 13:48 | 显示全部楼层
本帖最后由 lrd1861 于 2015-11-9 13:51 编辑

看看藏着啥  楼主是不是藏错了
发表于 2015-11-9 11:52 | 显示全部楼层
看隐藏着什么
发表于 2015-11-8 22:22 | 显示全部楼层
看看代碼 學習 研究  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-26 09:28 , Processed in 0.182327 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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