明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 382|回复: 2

[经验] 两点画两点间固定比例的椭圆!

[复制链接]
发表于 2025-1-24 14:35:51 | 显示全部楼层 |阅读模式
本帖最后由 yaojing38 于 2025-1-24 15:10 编辑
  1. (defun make-Ellipse (pt11 pt22 / dis pd pt0 pt33 pt44)
  2.   (if (< (abs (- (cadr pt22) (cadr pt11))) (abs (- (car pt22) (car pt11)))) (setq pd t))
  3.   (setq pt33 (polar pt11 (angle pt11 pt22)  (/ (distance pt11 pt22) 2)))
  4.   (setq dis (distance pt33 pt22))
  5.   (setq pt0 (trans '(0. 0. 0.) 0 1))
  6.   (if pd (setq pt44 (polar pt0  (* 0 pi) dis)) (setq pt44 (polar pt0  (* 0.5 pi) dis))  )
  7.   (setq  pt33  (trans pt33 1 0)  pt44  (trans pt44 1 0))
  8.   (entmake
  9.     (list
  10.       '(0 . "ELLIPSE")
  11.       '(100 . "AcDbEntity")
  12.       '(100 . "AcDbEllipse")
  13.       (cons 10 pt33)
  14.       (cons 11 pt44)
  15.       (cons 40 0.375787)
  16.       (cons 41 0.0)
  17.       (cons 42 6.28319)
  18.     )
  19.   )
  20. )
有时候我们只是需要一个简单的椭圆,分享下经验!有需要的可以自己研究下!
"觉得好,就打赏"
还没有人打赏,支持一下
回复

使用道具 举报

发表于 7 天前 | 显示全部楼层
  1. (defun Make-Ellipse (p1 p2 / pc pa pb)
  2.   ;(Make-Ellipse (setq p0 (getpoint  "\n基点<退出>: ")) (setq p1 (getcorner p0 "\n下一点<退出>: ")))
  3.   (setq pc (mapcar '(lambda (x y) (* (+ x y) 0.5)) p1 p2)
  4.         pa (list (car p2) (cadr pc))
  5.         pb (list (car pc) (cadr p2))
  6.   )
  7.   (command "_ellipse" "c" "non" pc "non" pa "non" pb)
  8.   (entlast)
  9. )
回复 支持 反对

使用道具 举报

发表于 7 天前 来自手机 | 显示全部楼层
有空研究下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-1 01:58 , Processed in 0.153729 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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