乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 57|回复: 4

[编程交流] 圆角最佳拟合-3边

[复制链接]

238

主题

769

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1721
发表于 2022-7-5 15:58:08 | 显示全部楼层 |阅读模式
我正在寻找一种方法,要么使用Circle TTR命令,要么使用Fillet命令,从而获得浓密的白光。这基本上是停车位。我想把停车位弄到一个半径为1的岛上。
 
 
我不知道我是否可以圆角的3边,然后半径将创建的飞行。
 
 
希望这有意义。再次感谢你。
165814ifdxf1bza93d11z1.jpg
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-5 16:19:23 | 显示全部楼层
https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/fit-arc-lisp-not-working-in-2017/m-p/7403604/highlight/true#M359164
 
HTH。,M、 R。
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
325
发表于 2022-7-5 16:43:02 | 显示全部楼层
以下是我的尝试:
 
  1. (
  2. (lambda ( / e enx o p1 p2 p3 p4 a d r )
  3.    (cond
  4.      ( (not (setq e (car (entsel "\nPick circle: ")))) )
  5.      ( (/= "CIRCLE" (cdr (assoc 0 (setq enx (entget e))))) )
  6.      ( (not (setq p2 (getpoint (setq p1 (vlax-get (setq o (vlax-ename->vla-object e)) 'Center)) "\nSpecify direction: "))) )
  7.      (
  8.        (mapcar '(lambda (x) (set (car x) (eval (cadr x))))
  9.          '( (a (angle p1 p2)) (d (distance p1 p2)) (r (vlax-get o 'Radius))
  10.            (p3 (polar p1 (+ a (/ PI 2.)) r)) (p4 (polar p1 (- a (/ PI 2.)) r))
  11.          )
  12.        ); mapcar
  13.        (and
  14.          (setq e
  15.            (entmakex
  16.              (append '((0 . "LWPOLYLINE") (100 . "AcDbEntity") (100 . "AcDbPolyline") (90 . 4) (70 . 0))
  17.                (list (assoc 8 enx)) '((43 . 0.0) (38 . 0.0) (39 . 0.0))
  18.                (list (cons 10 (polar p3 a d))) '((40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0))
  19.                (list (cons 10 p3)) '((40 . 0.0) (41 . 0.0) (42 . 1.0) (91 . 0))
  20.                (list (cons 10 p4)) '((40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0))
  21.                (list (cons 10 (polar p4 a d))) '((40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (210 0.0 0.0 1.0))
  22.              )
  23.            )
  24.          ); setq e
  25.          (setq o (vlax-ename->vla-object e)) (vlax-invoke o 'Move p1 (polar p1 a r))
  26.        ); and
  27.      )
  28.    ); cond
  29. )
  30. )
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:49:36 | 显示全部楼层
简单的方法是拾取一条红线拾取终点线询问半径或max如果max则半径是终点线距离的一半,拾取绘制的其他红线弧。我认为使用用户半径的更通用解决方案会更好。我们很少有一个完整的半径,通常端部有一个直线段。
 
确实发现了一件事,只需要放大一点,否则第二行修剪可能不起作用,可以添加额外的代码位,以确保拾取点在线。
 
  1. ; fillet using 3 lines with mid point on second line
  2. ; by Alan H Oct 2017
  3. ; Note may have to zoom in a little bit
  4. (defun c:F3L ( /  tpp1 pt1 pt2 pt3 ang1 ang2 ang3 temp)
  5. (defun assoc_left_pt ( )
  6. (setq pt3 (cadr tp1))
  7. (setq tpp1 (entget (car tp1)))
  8. (setq pt1 (cdr (assoc 10 tpp1)))
  9. (setq pt2 (cdr (assoc 11 tpp1)))
  10. (setq d1 (distance pt1 pt3))
  11. (setq d2 (distance pt2 pt3))
  12. (if (> d1 d2)
  13. (progn
  14. (setq temp pt1)
  15. (setq pt1 pt2)
  16. (setq pt2 temp)
  17. )
  18. )
  19. )
  20. (setq oldsnap (getvar 'osmode))
  21. (setvar 'osmode 512)
  22. (setq tp1 (entsel "\nSelect middle line"))
  23. (assoc_left_pt)
  24. (setq ang2 (angle pt1 pt2))
  25. (setq dist (/ (distance pt1 pt2) 2.0))
  26. (setq midpt (polar pt1 ang2 dist ))
  27. (setq tp1 (entsel "\nSelect left side line near top end : "))
  28. (assoc_left_pt)
  29. (setq ptl1 pt3)
  30. (setq ang1 (angle pt1 pt2))
  31. (setq ptst1 (polar pt1 ang1 dist))
  32. (setq tp1 (entsel "\nSelect right side line near top end : "))
  33. (assoc_left_pt)
  34. (setq ang3 (angle pt1 pt2))
  35. (setq pt1 (polar pt1 ang3 dist))
  36. (command "arc" ptst1 midpt pt1)
  37. (command "trim" (entlast) ""  pt3  ptl1 "")
  38. (setvar 'osmode oldsnap)
  39. )
  40. (c:F3L)

 
还要考虑到直线可能不是真正垂直的,所以圆角将失败。第2版,半径必须接触顶线。
 
如果你想得到任何解背后的理论,它被称为圆心和圆心,因此可以得到非平行解。
回复

使用道具 举报

238

主题

769

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1721
发表于 2022-7-5 17:02:26 | 显示全部楼层
谢谢你们的帮助!两种解决方案都很有效!谢谢分享!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-14 13:08 , Processed in 0.527004 second(s), 65 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表