song宋_74729 发表于 2022-8-22 10:14:01

(已解决)画箭头并标示距离

本帖最后由 song宋_74729 于 2022-8-22 14:50 编辑

画箭头并标示距离,麻烦大师帮忙解决问题

mokson 发表于 2022-8-22 10:34:35

用标注不是更好吗?

song宋_74729 发表于 2022-8-22 11:33:46

mokson 发表于 2022-8-22 10:34
用标注不是更好吗?

标注箭头型式不一样

liuhe 发表于 2022-8-22 14:12:22

文字没有居中,你自己去修改P5插入点的坐标吧,或者修改文字 dxf码

liuhe 发表于 2022-8-22 14:13:43

(defun c:bz1 ()
(DEFUN MID (PO1 PO2)
    (SETQ PO (MAPCAR '(LAMBDA (X Y) (* (+ X Y) 0.5)) PO1 PO2))
    (PRINC PO)
)
(SETQ P1 (GETPOINT "\n 第一点"))
(SETQ P2 (GETPOINT P1 "\n 第二点"))
(IF (< (CaDR P1)(CaDR P2))(SETQ P3 P1 P1 P2 P2 P3))
(SETQ L1 (DISTANCE P1 P2))
(SETQ P3 (POLAR P1 (* -0.25 PI) (* 0.1 L1)))
(SETQ P4 (POLAR P2 (* 0.25 PI) (* 0.1 L1)))
(SETQ        P5 (POLAR (MID P1 P2)
                  (- (ANGLE P1 P2) (* 0.25 PI))
                  (* 0.05 L1)
           )
)
;;;;字体插入点
(SETQ LST (LIST P3 P1 P2 P4))
(SETQ H (* 0.1 L1))
;;;;字高
(SETQ TX1 (STRCAT (RTOS (/ L1 1) 2 1) "m"))
(SETVAR "CMDECHO" 0)
(ENTMAKEX
    (APPEND
      (list '(0 . "LWPOLYLINE")
          '(100 . "AcDbEntity")
          '(100 . "AcDbPolyline")
          (CONS 90 (LENGTH LST))
      )
      (MAPCAR '(LAMBDA (PT) (CONS 10 PT)) LST)
    )
)
(ENTMAKE (LIST '(0 . "TEXT")
               (CONS 10 P5)
               (CONS 1 TX1)
               (CONS 40 H)
               (CONS 50 (ANGLE P2 P1))
           )
)
)

song宋_74729 发表于 2022-8-22 14:49:19

本帖最后由 song宋_74729 于 2022-8-22 15:12 编辑

liuhe 发表于 2022-8-22 14:13
(defun c:bz1 ()
(DEFUN MID (PO1 PO2)
    (SETQ PO (MAPCAR '(LAMBDA (X Y) (* (+ X Y) 0.5)) PO1 PO ...
(defun c:bz1 ()
(DEFUN MID (PO1 PO2)
    (SETQ PO (MAPCAR '(LAMBDA (X Y) (* (+ X Y) 0.5)) PO1 PO2))
    (PRINC PO)
)
(SETQ P1 (GETPOINT "\n 第一点"))
(SETQ P2 (GETPOINT P1 "\n 第二点"))
(IF (< (CaDR P1)(CaDR P2))(SETQ P3 P1 P1 P2 P2 P3))
(SETQ L1 (DISTANCE P1 P2))
(SETQ P3 (POLAR P1 (* -0.25 PI) (* 0.1 L1)))
(SETQ P4 (POLAR P2 (* 0.14 PI) (* 0.1 L1)))
(SETQ      P5 (POLAR (MID P1 P2)
                  (- (ANGLE P1 P2) (* 0.06 PI))
                  (* 0.14 L1)
         )
)
;;;;字体插入点
(SETQ LST (LIST P3 P1 P2 P4))
(SETQ H (* 0.1 L1))
;;;;字高
(SETQ TX1 (STRCAT (RTOS (/ L1 1) 2 1) "m"))
(SETVAR "CMDECHO" 0)
(ENTMAKEX
    (APPEND
      (list '(0 . "LWPOLYLINE")
            '(100 . "AcDbEntity")
            '(100 . "AcDbPolyline")
            (CONS 90 (LENGTH LST))
      )
      (MAPCAR '(LAMBDA (PT) (CONS 10 PT)) LST)
    )
)
(ENTMAKE (LIST '(0 . "TEXT")
               (CONS 10 P5)
               (CONS 1 TX1)
               (CONS 40 H)
               (CONS 50 (ANGLE P2 P1))
         )
)
)

修改好,谢谢解答

czb203 发表于 2022-8-23 09:24:15

论坛的里的好人真多,谢谢分享
页: [1]
查看完整版本: (已解决)画箭头并标示距离