明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 864|回复: 3

[函数] 三点生成与之相切圆弧并标注参数

[复制链接]
发表于 2018-8-6 22:55 | 显示全部楼层 |阅读模式
三点生成与之相切圆弧并标注参数
2018-8-6 22:53 |系统分类:应用
;;[功能]三点生成与之相切圆弧并标注参数
;;[用法](LC:3pt-MAKARC-Label (getpoint "\n 请输入第一点") (getpoint "\n 请输入顶点") (getpoint "\n 请输入第三点")  (getreal "\n 请输入半径: "))
;;;(LC:3pt-MAKARC-Label (getpoint "\n 请输入第一点") (getpoint "\n 请输入顶点") (getpoint "\n 请输入第三点")  55.7909 )
;;[作者]BY 老仓测绘上班记
(defun LC:3pt-MAKARC-Label (p1 p2 p3 R / p1 p2 p3 R jiajiao CIRCLE-mid-ang T1 arcpt1  arcpt2 CIRCLEpt a
         arcBulge e arcmid arcptang1 arcptang2 arcang gonggao pt5)
;;;  (setq ptlst '() ANGlst '())
  (setq jiajiao (LC-3PT-Angle p1 p2 p3));多段线三点夹角
  (if (> jiajiao 0)
    (progn
      (setq CIRCLE-mid-ang (/ jiajiao 2))
      (setq T1 (abs (/ R (LC-tan CIRCLE-mid-ang))));切线
      (setq arcpt1 (polar p2 (angle p2 p1) T1));圆弧起点
      (setq arcpt2 (polar p2 (angle p2 p3) T1));圆弧终点
      (setq CIRCLEpt (polar arcpt1 (- (angle p1 arcpt1) (/ pi 2)) r));圆心坐标
      (setq a (- jiajiao pi))   ;转角
  )
    (progn
      (setq CIRCLE-mid-ang (/ jiajiao 2));夹角角平分线
      (setq T1 (abs (/ R (LC-tan CIRCLE-mid-ang))));切线
      (setq arcpt1 (polar p2 (angle p2 p1) T1));圆弧起点
      (setq arcpt2 (polar p2 (angle p2 p3) T1));圆弧终点
      (setq CIRCLEpt (polar arcpt1 (+ (angle p1 arcpt1) (/ pi 2)) r));圆心坐标
      (setq a (+ jiajiao pi))
    )
  )
  (setq e (- (distance p2 CIRCLEpt) R));外距
  (setq gonggao (- (distance p2 CIRCLEpt) (sqrt(- (* R R) (* (/ (distance arcpt1 arcpt2) 2) (/ (distance arcpt1 arcpt2) 2)))) e));弓高
  (setq arcmid (polar p2 (angle p2 CIRCLEpt) e));圆弧中点
  (setq arcptang1 (angle CIRCLEpt arcpt1));起点角度
  (setq arcptang2 (angle CIRCLEpt arcpt2));终点角度
  (setq arcang (LC-3PT-Angle arcpt1 CIRCLEpt arcpt2));圆心角
  (if (> jiajiao 0)
    (setq arcBulge (-(/ (* gonggao 2) (distance arcpt1 arcpt2))));凸度
    (setq arcBulge (/ (* gonggao 2) (distance arcpt1 arcpt2)));凸度
    )
  (setq ARCDIST (abs(* arcang r)));弧长
  (setq a (atof(LC:radian-angle a)))
  (LC:make-arcpline arcpt1 arcpt2 arcBulge);生成带凸度多段线
  (LC-MAK-QXBZ-TEXT (setq pt5 (getpoint "\n 请输入标注点: ")) A r T1 ARCDIST E)
)


评分

参与人数 1明经币 +1 收起 理由
USER2128 + 1 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2018-8-7 21:32 | 显示全部楼层
本帖最后由 USER2128 于 2018-8-7 22:07 编辑

程序有点复杂,赞一个

 楼主| 发表于 2018-8-9 21:01 | 显示全部楼层
USER2128 发表于 2018-8-7 21:32
程序有点复杂,赞一个

我是菜鸟,所以。。。
发表于 2018-8-10 23:19 | 显示全部楼层
好多大大啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-20 09:05 , Processed in 3.543899 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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