curmudgeon 发表于 2009-6-23 11:06:55

编辑具有共中心顶点的长折线

首先,如果我重新发明轮子,感到自由
**** Hidden Message *****

CAB 发表于 2009-6-23 12:13:44

对不起,我不明白你对这个问题的解释

curmudgeon 发表于 2009-6-23 13:00:43

我希望能够以类似抓地力的方式编辑 lwpolyline。当顶点彼此重叠时,autocad 希望拉伸两个顶点。我一次只想要一个。
到目前为止,我有这个:
(defun c:polygrip (/)
(setq        x      (entsel "\nPick polyline to edit near vertex: ")
        pt   (osnap (cadr x) "nea")
        ent    (entget (car x))
        pt_lst nil
)
(foreach z ent
    (if        (= (car z) 10)
      (setq pt_lst (append pt_lst (list (cdr z))))
    )
)
(setq cnt 0)
(repeat (- (length pt_lst) 1)
    (setq a (nth cnt pt_lst)
          b (nth (+ 1 cnt) pt_lst)
    )
    (if        (= (+ (distance a pt) (distance pt b)) (distance a b))
      (setq seg (append seg (list a b cnt)))
    )
    (setq cnt (+ 1 cnt))
)
(if (> (distance (car seg) pt) (distance (cadr seg) pt))
    (setq vert (cadr seg))
    (setq vert (car seg))
);; old vertex
(setq vurt (getpoint "\n Pick new vertex. ")
        vurt (list (car vurt)(cadr vurt))) ;; new vertex
(setq ent (subst (cons (cons 10 vurt) (cdr (member (cons 10 vert) ent))) (member (cons 10 vert) ent) ent))
(entmod ent)
(entupd (cdr (assoc -1 ent)))
)
,我认为我的subst命令失败了。
但现在是午餐时间,罗伊饿了。
我知道代码很丑,但是在我运行它之后,我可以让它变得更漂亮。
谢谢

ScottMC 发表于 2022-7-12 18:00:57

在属性窗口中单击顶点停靠栏后,点击到达那里所需的箭头,然后键入不同于所看到的X或Y坐标。那将使它变得容易控制/容易接近。通过选择下面的一个坐标,点击鼠标箭头,然后你可以在屏幕上选择一个新的点..
页: [1]
查看完整版本: 编辑具有共中心顶点的长折线