designerstuart 发表于 2022-7-6 08:58:08

连接样条线

大家好
 
我搜索了一段时间,但找不到如何连接样条曲线,因为我需要它们保持样条曲线,而不是转换为多段线。我在这里找到一个人,他声称写了一个lisp,可以做到这一点,但找不到他们所指的内容。无论如何,我怀疑这将是一个折线转换例程。
 
有人见过或做过这样的事吗?
 
为了澄清这一点,我想例程会要求选择样条曲线,提取其坐标,使用这些点绘制样条曲线,然后删除原始样条曲线。这肯定超出了我的Lisp程序能力,但对你们来说可能很容易?
 
干杯

ReMark 发表于 2022-7-6 09:02:35

我认为您可以使用JOIN命令来连接样条曲线,只要它们没有任何间隙。

designerstuart 发表于 2022-7-6 09:09:59

问题是它将它们转换为多段线。
 
嗯,我说,它们仍然被称为样条曲线,但它们的作用不再相同——它们就像多段线,因为节点不再在线上。也许我的术语错了。

Tyke 发表于 2022-7-6 09:12:18

备注是对的,您可以使用连接来连接样条线。您可以选择多条样条曲线,它们将全部连接(如备注所述:无间隙)。唯一会失去的是样条曲线在各个样条线相交的桥上的平滑度,在那里你会得到一个“锐角”。

Tyke 发表于 2022-7-6 09:17:21

样条曲线有两种类型的节点(控制点),您可以通过首先单击样条曲线,然后单击小三角形(其上方的线靠近样条曲线的起点),在这两种类型的节点之间切换。可以看到样条线上的节点或与样条线相邻的节点。

designerstuart 发表于 2022-7-6 09:20:06

 
是的,谢谢大家
 
 
嗯,我想知道这是在2010年之后吗?我没有这样的图标

designerstuart 发表于 2022-7-6 09:23:41

红色一个节点符合要求
白人,加入后,他们已经“转换”
 

Tharwat 发表于 2022-7-6 09:27:27

这可能有助于。。。
 
(defun c:test (/ ss e p1)
(if
   (and
   (setq ss (car (entsel "\n Select Spline :")))
   (eq (cdr (assoc 0 (setq e (entget ss)))) "SPLINE")
   )
    (progn
      (setq p1 (vlax-curve-getendpoint ss))
      (entupd
      (cdr (assoc -1 (entmod (subst (cons 11 p1) (assoc 10 e) e)))
      )
      )
    )
    (princ)
)
(princ)
)
Tharwat

designerstuart 发表于 2022-7-6 09:32:35

谢谢tharwat-但我收到错误消息“坏dxf组:(11)”

Tharwat 发表于 2022-7-6 09:37:48

再试一次,我在发布几秒钟后更新了代码。
页: [1] 2
查看完整版本: 连接样条线