世人皆醉 发表于 2023-4-21 17:29:22

两条直线如何在直线的两个y值偏小的端点生成一条连接直线

(defun c:f1 ()
   (setq ss (ssget '((0 . "line")))) ;“,” 逻辑或,对象类型可多选,名称用 “,” 分
;隔。例如,创建直线和文本的选择集,框选对象后,将只有文本被选中(亮显)并加入选择集。
(setq line1 (entget (ssname ss 0)));获取直线1的图元信息
(setq line2 (entget (ssname ss 1)))
(setq y1 (cdr (assoc 10 line1)))
(setq y2 (cdr (assoc 10 line2)))后面代码该咋写?求大佬完善

yaojing38 发表于 2023-4-21 17:29:23


(defun c:f1 ( / a b line1 line2 ps1 ps2 pt1 pt2 ss)
        (vl-load-com)
   (setq ss (ssget '((0 . "*line")))) ;“,” 逻辑或,对象类型可多选,名称用 “,” 分
;隔。例如,创建直线和文本的选择集,框选对象后,将只有文本被选中(亮显)并加入选择集。
(setq line1(ssname ss 0));获取直线1的图元信息
(setq line2(ssname ss 1))
        (setq PS1(HH:PtLists line1))
        (setq PS2(HH:PtLists line2))
        (setq Pt1 (car (vl-sort PS1 '(lambda(a b) (< (cadr a) (cadr b))))))
        (setq Pt2 (car (vl-sort PS2 '(lambda(a b) (< (cadr a) (cadr b))))))
        (command "line" PT1 pt2 "")
        (print)
        )
(defun HH:PtLists (en)       
        (list
        (vlax-curve-getstartpoint (vlax-ename->vla-object en))
        (vlax-curve-getendpoint (vlax-ename->vla-object en))
)
)

你看下行不行

mahuan1279 发表于 2023-4-21 22:00:17

一次只选择两条直线,还是多条直线?

世人皆醉 发表于 2023-4-22 08:12:25

yaojing38 发表于 2023-4-21 17:29
你看下行不行

谢谢大佬,学习了!!!!

页: [1]
查看完整版本: 两条直线如何在直线的两个y值偏小的端点生成一条连接直线