symoin 发表于 2022-7-6 11:11:03

通过直线连接点以形成

你好
 
我有很多测量点,我必须与一个公共点连接
然后我必须用一条弧连续连接这些点,形成一个圆。
 
是否有任何lisp或代码来简化工作。
 
请参阅随附的样本图纸。
课程-2。图纸

alanjt 发表于 2022-7-6 11:39:20

这应该让你开始。。。
 
(defun c:Test (/ ss pt)
(princ "\nSelect points: ")
(if (and (setq ss (ssget '((0 . "POINT"))))
          (setq pt (getpoint "\nSpecify center point to connect points: "))
   )
   ((lambda (i p)
      (while (setq e (ssname ss (setq i (1+ i))))
      (entmake (list '(0 . "LINE")
                     '(100 . "AcDbEntity")
                     '(100 . "AcDbLine")
                     (assoc 10 (entget e))
                     (cons 11 p)
               )
      )
      )
    )
   -1
   (trans pt 1 0)
   )
)
(princ)
)

symoin 发表于 2022-7-6 11:49:39

谢谢
您的代码可以很好地满足我需求的第一部分。也希望我的第二部分有所收获。我使用命令PLINE并选择第一个点,然后对于下一个点选项,我通过键入A使用子命令弧,然后通过键入S使用第二个选项,并选择另一个点作为终点,然后键入S,依此类推。
 
这是粘贴的命令历史记录中的文本。
指定起点:
当前线宽为0.0000
指定下一点或[弧(Arc)/半宽(Halfwidth)/长度(Length)/撤消(Undo)/宽度(Width)]:a
指定圆弧的端点或
[角度/中心/方向/半宽度/直线/半径/秒pt/Undo/Width]:s
指定圆弧上的第二个点:
指定圆弧终点:
指定圆弧的端点或
[角度/中心/闭合/方向/半宽度/直线/半径/秒pt/Undo/Width]:s
指定圆弧上的第二个点:
指定圆弧终点:
指定圆弧的端点或
[角度/中心/闭合/方向/半宽度/直线/半径/秒pt/Undo/Width]:s
指定圆弧上的第二个点:
指定圆弧终点:
指定圆弧的端点或
[角度/中心/闭合/方向/半宽度/直线/半径/秒pt/Undo/Width]:
 
谢谢

alanjt 发表于 2022-7-6 12:10:04

 
 
我理解你的第二个要求,正如我所说,这应该让你开始。你自己试过吗?

eldon 发表于 2022-7-6 12:19:57

在你的多条帖子的另一个分支中(看看混淆和分解思路是多么容易),我对你的方法的几何有效性感到不安。
 
按照这种方式,您可以创建16个不相切的单独圆弧(当您正确执行时)。这就是权力想要的吗?
 
图片显示了效果(夸张)
页: [1]
查看完整版本: 通过直线连接点以形成