lwl450 发表于 2019-6-18 14:26:41

求画矩形对角线

怎么求P5P6 P7 P8 这四个点,然后四个点对角相连,有无大神帮帮忙

(defun c:tt (/ p1 p2 p3 p4)
(setvar "cmdecho" 0)
(setq p1 (getpoint "\r第一点:"))
(setq p2 (getcorner p1 "\r下一点:"))
(progn
       (setq p3 (list (car p1) (cadr p2))
             p4 (list (car p2) (cadr p1))
       )
      (entmake (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity")
                      '(100 . "AcDbPolyline")(cons 90 4)
                      (cons 10 p1) (cons 10 p3) (cons 10 p2) (cons 10 p4)
                      (cons 70 1)))
(vla-offset (vlax-ename->vla-object (entlast)) 10)
   )
(princ)
)

xyp1964 发表于 2019-6-18 22:03:19

(defun c:tt ()
(if (and (setq p1 (getpoint "\n第一点: "))
           (setq p2 (getcorner p1 "\n下一点: "))
      )
    (progn
      (setvar "osmode" 0)
      (command "rectang" p1 p2)
      (vla-offset (vlax-ename->vla-object (entlast)) -10)
      (setq ptn        (vl-remove-if-not
                  '(lambda (x) (= (car x) 10))
                  (entget (entlast))
                )
          ptn        (mapcar 'cdr ptn)
      )
      (command "line" (nth 0 ptn) (nth 2 ptn) "")
      (command "line" (nth 1 ptn) (nth 3 ptn) "")
    )
)
(princ)
)

start4444 发表于 2019-6-18 22:23:43

例:p5=(polar p1 (* 0.25 pi) (sqrt (+ (expt 10 2) (expt 10 2)))) ,其他自己算

lwl450 发表于 2019-6-19 08:20:48

xyp1964 发表于 2019-6-18 22:03


谢谢

lwl450 发表于 2019-6-19 08:21:02

start4444 发表于 2019-6-18 22:23
例:p5=(polar p1 (* 0.25 pi) (sqrt (+ (expt 10 2) (expt 10 2)))) ,其他自己算

谢谢
页: [1]
查看完整版本: 求画矩形对角线