YANGF85 发表于 2011-9-6 09:27:44

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

用画圆的办法求交点,我不知道咋求, 求高手指点,如果能读取EXCEL表的尺寸规格就好了

菜鸟初来乍到 发表于 2022-12-9 22:21:56

LLXXZZ 发表于 2011-9-6 12:37


大佬,请问一下你之前是在江河工作的吗?我现在在这里,好多插件都是你写的,非常好用,非常感谢你

longer1000 发表于 2020-10-5 09:07:30

【KAIXIN】 发表于 2018-5-29 14:27
四边形 三角形 扇形等参数化

压缩文件不能解压

【KAIXIN】 发表于 2018-5-29 14:27:18

四边形 三角形 扇形等参数化

LLXXZZ 发表于 2011-9-6 12:37:23

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

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


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

;用余弦定理计算角度
(setq a1 (/(- (+ (sqr w4) (sqr w1)) (sqr d1)) w1 w4 2) )
(setq b1 (sqrt (- 1 (sqr a1))))
(setq an1(atan (/ b1 a1)))
(if (< an1 0) (setq an1(+ pian1)))

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

;计算端点
(setq p2 (polar p1 0 w1))
(setq p4 (polar p1 an1 w4))
(setq p3 (polar p1 an2 d2))

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

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


mandala 发表于 2011-9-6 15:47:19

本帖最后由 mandala 于 2011-9-6 15:54 编辑

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

话说回来,即使有4个点,对角线也是用不着的,随意取一点和其它点循环作pline,最后面积大的就是对的。

YANGF85 发表于 2011-9-6 15:56:55

原来这样更简单,我想得复杂了!

LLXXZZ 发表于 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 static/image/common/back.gif
[基础] 如何输入任意4条边和一个对角线的长度,生成一个四边形?

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

能不能在excel里面输入数据直接读取就行了?

华轩〈肖〉 发表于 2012-6-25 21:59:16

刚好我有这样一个插件
已知任意一个四边形的四条边和一个对角线则可大批量的生成四过形
(已各条件可预先在EXCEL中排好,对角线为左下角至右上角对角线)
解压好后须把文件复制到CAD安装文件中再加载!
有什么不明白加我·QQ:444518194

haoryh 发表于 2012-7-7 15:35:40

华轩〈肖〉 发表于 2012-6-25 21:59 static/image/common/back.gif
刚好我有这样一个插件
已知任意一个四边形的四条边和一个对角线则可大批量的生成四过形
(已各条件可预先 ...

不会用,请指教!

Daniel·邓邓邓 发表于 2012-7-12 16:31:12

LLXXZZ 发表于 2011-9-6 12:37 static/image/common/back.gif


如果是已知四边长和一对角线长就好了。
页: [1] 2
查看完整版本: 如何输入任意4条边和一个对角线的长度,生成一个四边形?