y854271613 发表于 2024-7-22 22:12:05

麻烦哪位大哥帮忙修改指教一下?谢谢

本帖最后由 y854271613 于 2024-7-22 22:16 编辑



[*]TEXT对象怎么选择PO点内的 求大佬帮忙
[*](DEFUN C:DTMJM()
[*](setq LOOP T)
[*](SETVAR "osmode" 37)
[*](setq P0 (GETPOINT "选择调整点:"))
[*](setq E (SSGET "c" (POLAR P0 (/ PI 4) 0.001) (POLAR P0 (* 1.25 PI) 0.001)))
[*](setq ENT (SSNAME E 0))
[*](setq OBJ (VLAX-ENAME->VLA-OBJECT ENT))
[*](setq PP (VLAX-CURVE-GETCLOSESTPOINTTO OBJ (TRANS P0 1 0)))
[*](setq N (FIX (VLAX-CURVE-GETPARAMATPOINT OBJ PP)))
[*](setq PTS (VARIANT-VALUE (VLA-GET-COORDINATES OBJ)))
[*](while (and LOOP)
[*]    (setq P (GRREAD T))
[*]    (setq K (CAR P))
[*]    (setq P (CADR P))   
[*]    (if (= K 3)
[*]      (PROGN
[*]      (setq LOOP nil)
[*]      )
[*]    )   
[*]    (VLAX-SAFEARRAY-PUT-ELEMENT PTS (* N 2) (CAR P))
[*]    (VLAX-SAFEARRAY-PUT-ELEMENT PTS (1+ (* N 2)) (CADR P))
[*]    (VLA-PUT-COORDINATES OBJ PTS)
[*]    (setq area (VLAX-CURVE-GETAREA OBJ))
[*]    (setq area-mu (/ area 666.67))
[*]    (PRINC "\r当前面积(亩):")
[*]    (PRINC area-mu)
[*]    (setq textE (SSGET "X" (list (cons 0 "TEXT"))))
[*]    (if textE
[*]      (progn
[*]      (setq textObj (SSNAME textE 0))
[*]      (setq textVla (VLAX-ENAME->VLA-OBJECT textObj))
[*]      (VLA-PUT-TextString textVla (strcat "当前面积(亩): " (rtos area-mu 2 2)))
[*]      )
[*]    )
[*])
[*])

y854271613 发表于 2024-7-22 22:55:11

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=186976&highlight=%B6%AF%CC%AC%B5%F7%D5%FB有类似的但是缺少slmkwz、e-mid两个函数

MZ_li 发表于 2024-7-22 23:00:10

没看明白什么要求

y854271613 发表于 2024-7-23 15:41:07

怎么选择修改图形内的文本

你有种再说一遍 发表于 2024-7-23 16:12:01

y854271613 发表于 2024-7-23 15:41
怎么选择修改图形内的文本

根据图元名修改啊,还能怎么修改?

图元名怎么判断在闭合线内?
根据射线法判断啊,还能怎么判断?

怎么放文字进去边界内?
求中点啊,还能怎么放?

中点有穴怎么办?
求质心啊,还能怎么办?
页: [1]
查看完整版本: 麻烦哪位大哥帮忙修改指教一下?谢谢