乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 26|回复: 5

[编程交流] 标签轮廓Lisp帮助

[复制链接]

107

主题

615

帖子

575

银币

中流砥柱

Rank: 25

铜币
521
发表于 2022-7-5 20:10:56 | 显示全部楼层 |阅读模式
嗨,我有这个标签轮廓lisp
 
  1. (defun alg-ang (obj pnt)
  2. (angle '(0. 0. 0.)
  3. (vlax-curve-getfirstderiv
  4.    obj
  5.    (vlax-curve-getparamatpoint
  6.      obj
  7.      pnt
  8.    )
  9. )
  10. )
  11. )
  12. (defun C:LABCONT (/     ang   angp         box   dv    en           ent         p1    p2
  13.        p3    p4           pt         txten txthgt           txtpt wid   zstr
  14.        zvalue
  15.       )
  16. (setvar "osmode" 512)
  17.    (setvar "cmdecho" 0)
  18. (COMMAND "_layer" "_m" "Contours Elev" "_c" "2" "" "_lw" "0.30" "" "")
  19. (command"textmask" "M" "W")
  20.     (setq scl (getvar "useri1"))
  21.     (setq ht (* 0.0025 scl))
  22. (setq        txthgt ht                        ;<-- text height
  23.   gap (/ txthgt 9999));<-- change gap here                                       
  24. (if
  25.    (setq ent (entsel "\nSelect contour line >>"))
  26.     (progn
  27.       (setq en (car ent))
  28.       (while (setq pt
  29.              (getpoint
  30.                "\nPick a point on the contour (or press Enter to Exit) >> "
  31.              )
  32.       )
  33. (setq pt     (vlax-curve-getclosestpointto en pt)
  34.        zvalue (caddr pt)
  35.        zstr   (rtos zvalue 2 2)
  36.        dv     (vlax-curve-getfirstderiv
  37.                 en
  38.                 (vlax-curve-getparamatpoint en pt)
  39.               )
  40.        ang    (alg-ang en pt)
  41.        ang
  42.               (cond ((< (/ pi 2) ang (* pi 1.5)) (+ pi ang))
  43.                     (T ang)
  44.               )
  45.        angp   (+ (/ pi 2) ang)
  46.        txtpt  (polar pt angp gap)
  47. )
  48. (entmake
  49.    (list
  50.      '(0 . "TEXT")
  51.      '(100 . "AcDbEntity")
  52.      (cons 67
  53.            (if (= 0 (getvar "tilemode"))
  54.              1
  55.              0
  56.            )
  57.      )
  58.      (cons 410 (getvar "ctab"))
  59.     ; '(8 . "Contours Elev")        ;<-- layer for texts
  60.      '(100 . "AcDbText")
  61.      (cons 10 txtpt)
  62.      (cons 11 txtpt)
  63.      (cons 40 txthgt)
  64.      (cons 1 zstr)
  65.      (cons 50 ang)
  66.      '(41 . 1.0)
  67.      '(51 . 0.0)
  68.      '(7 . "POINTS")                ;<-- text style
  69.      '(71 . 0)
  70.      '(72 . 1)
  71.      '(73 . 2)
  72.    )
  73. )
  74. (princ)
  75.       )
  76.       (vl-load-com)
  77.     )
  78. )
  79. )

 
ymg公司
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 20:33:50 | 显示全部楼层
回复

使用道具 举报

107

主题

615

帖子

575

银币

中流砥柱

Rank: 25

铜币
521
发表于 2022-7-5 20:46:45 | 显示全部楼层
Any other options?
 
Thanks
回复

使用道具 举报

0

主题

301

帖子

301

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 20:57:39 | 显示全部楼层
prodromosm,
 
If you look in my TIN program there is three different way to label the contours.
 
The various way I used were heavily derived from an offering by Alan J Thompson.
 
ymg
回复

使用道具 举报

107

主题

615

帖子

575

银币

中流砥柱

Rank: 25

铜币
521
发表于 2022-7-5 21:03:29 | 显示全部楼层
Can any one tell me how add mask a text in the code ?
回复

使用道具 举报

0

主题

301

帖子

301

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 21:12:32 | 显示全部楼层
prodromosm,
 
You just set on the BackgroundFill property to true on an MTEXT object.
 
  1. (vlax-put-property text 'BackgroundFill :vlax-true)
 
ymg
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-11 09:02 , Processed in 0.420865 second(s), 64 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表