(已解决)画箭头并标示距离
本帖最后由 song宋_74729 于 2022-8-22 14:50 编辑画箭头并标示距离,麻烦大师帮忙解决问题
用标注不是更好吗? mokson 发表于 2022-8-22 10:34
用标注不是更好吗?
标注箭头型式不一样 文字没有居中,你自己去修改P5插入点的坐标吧,或者修改文字 dxf码
(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 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))
)
)
)
修改好,谢谢解答 论坛的里的好人真多,谢谢分享
页:
[1]