明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4833|回复: 13

如何输入任意4条边和一个对角线的长度,生成一个四边形?

  [复制链接]
发表于 2011-9-6 09:27:44 | 显示全部楼层 |阅读模式
  用画圆的办法求交点,我不知道咋求, 求高手指点,如果能读取EXCEL表的尺寸规格就好了
发表于 2022-12-9 22:21:56 | 显示全部楼层

大佬,请问一下你之前是在江河工作的吗?我现在在这里,好多插件都是你写的,非常好用,非常感谢你
发表于 2020-10-5 09:07:30 | 显示全部楼层
【KAIXIN】 发表于 2018-5-29 14:27
四边形 三角形 扇形等参数化

压缩文件不能解压
发表于 2018-5-29 14:27:18 | 显示全部楼层
四边形 三角形 扇形等参数化

本帖子中包含更多资源

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

x
发表于 2011-9-6 12:37:23 | 显示全部楼层

写了很久了,都忘了点取的顺序了.楼主自己摸索一下.

本帖最后由 LLXXZZ 于 2011-9-6 12:39 编辑

  1. ;李晓卓于2010年7月8日写此程序,
  2. ;根据5个点画出四边形,
  3. ;定义平方子程序
  4. (defun sqr(xx) (* xx xx))
  5. ;主程序开始
  6. (defun C:sbx ( /  p1 p2 p3 p4 a1 a2 an1 an2 d1 d2)
  7.   (setvar "CMDECHO" 0)
  8.   (setq OSM (Getvar "OSMODE" ))
  9.   (setq BPM (Getvar "blipmode"))
  10.   (command "ucs" "w" )
  11.   (princ ">>>画出四边形程序正在运行...\n")
  12.   (setq p1 (getpoint"点取四边形左下角点p1: "))
  13.   (setq w1 (getdist p1 "指定四边形右下角点p2到p1的距离<W2>: "))
  14.   (setq d1 (getdist "指定四边形左上角点p4到p2的距离<L2>: "))
  15.   (setq w4 (getdist "指定四边形左上角点p4到p1的距离<H1>: "))
  16.   (setq w2 (getdist "指定四边形右上角点p3到p2的距离<H2>: "))
  17.   (setq d2 (getdist "指定四边形右上角点p3到p1的距离<L1>: "))

  18. ;用余弦定理计算角度
  19.   (setq a1 (/  (- (+ (sqr w4) (sqr w1)) (sqr d1)) w1 w4 2) )
  20.   (setq b1 (sqrt (- 1 (sqr a1))))
  21.   (setq an1  (atan (/ b1 a1)))
  22.   (if (< an1 0) (setq an1  (+ pi  an1)))

  23.   (setq a2 (/  (- (+ (sqr d2) (sqr w1)) (sqr w2)) d2 w1 2) )
  24.   (setq b2 (sqrt (- 1 (sqr a2))))
  25.   (setq an2  (atan (/ b2 a2)))
  26.   (if (< an2 0) (setq an1  (+ pi an2)))

  27. ;计算端点
  28.   (setq p2 (polar p1 0 w1))
  29.   (setq p4 (polar p1 an1 w4))
  30.   (setq p3 (polar p1 an2 d2))

  31. ;开始绘制四边形
  32.   (command "PLINE" p1 p2 p3 p4 "c" )
  33.   (setvar "OSMODE"    OSM)
  34.   (setvar "blipmode"  BPM)
  35.   (command "ucs" "p" )

  36.   (princ ">>>四边形绘制完毕,请自行检查p3到p4<W1>的距离!\n")
  37.   (princ)
  38. )   ;;;end of defun
  39. (princ "\n 画四边形.lsp已加载 绘制四边形程序,以sbx启动命令.----by 李晓卓<2010.7.10>")
  40. (princ)


发表于 2011-9-6 15:47:19 | 显示全部楼层
本帖最后由 mandala 于 2011-9-6 15:54 编辑

应该是“输入4个点”吧?如果输入边的话……两条边就够了,对角线也不用了。

话说回来,即使有4个点,对角线也是用不着的,随意取一点和其它点循环作pline,最后面积大的就是对的。
 楼主| 发表于 2011-9-6 15:56:55 | 显示全部楼层
原来这样更简单,我想得复杂了!
发表于 2011-9-7 12:10:01 | 显示全部楼层
[基础] 如何输入任意4条边和一个对角线的长度,生成一个四边形?

程序就是根据四条边 做出来的.
发表于 2012-6-24 20:04:01 | 显示全部楼层
讲的好!都是我的偶像!!!!
发表于 2012-6-25 17:28:07 | 显示全部楼层
LLXXZZ 发表于 2011-9-7 12:10
[基础] 如何输入任意4条边和一个对角线的长度,生成一个四边形?

程序就是根据四条边 做出来的.

能不能在excel里面输入数据直接读取就行了?
发表于 2012-6-25 21:59:16 | 显示全部楼层
刚好我有这样一个插件
已知任意一个四边形的四条边和一个对角线则可大批量的生成四过形
(已各条件可预先在EXCEL中排好,对角线为左下角至右上角对角线)
解压好后须把文件复制到CAD安装文件中再加载!
有什么不明白加我·QQ:444518194

本帖子中包含更多资源

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

x
发表于 2012-7-7 15:35:40 | 显示全部楼层
华轩〈肖〉 发表于 2012-6-25 21:59
刚好我有这样一个插件
已知任意一个四边形的四条边和一个对角线则可大批量的生成四过形
(已各条件可预先 ...

不会用,请指教!
发表于 2012-7-12 16:31:12 | 显示全部楼层
LLXXZZ 发表于 2011-9-6 12:37

如果是已知四边长和一对角线长就好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 04:12 , Processed in 0.317988 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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