乐筑天下

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

[编程交流] 在非worl中创建文本对象

[复制链接]

12

主题

25

帖子

13

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-6 00:01:23 | 显示全部楼层 |阅读模式
我有以下代码,用户点击一个点。它将创建一个重复点和一个文本标签,其中z值为其内容。
 
当在世界坐标系的俯视图中时,这可以很好地工作,但我无法使其在前/右视图或UCS中工作。
 
我需要向代码中添加什么才能使其正确显示在任何当前视图/ucs中?
 
  1. (defun c:ptlev ()
  2. (setq la1 (getvar "clayer"))
  3. (setq SnapVal (getvar "osmode"))
  4. (command "luprec" "3")
  5. (command "osmode" "8")
  6. (setq pp (getpoint "\nPick Point:   "))
  7. (command "osmode" "0")
  8.   (entmake (list  (cons  0 "TEXT")    ;Entity type
  9.                  (cons  1 (rtos (caddr pp)))  ;The string itself
  10.                  (cons  7 "arialn")    ;Text style
  11.                  (cons  8 la1)     ;Layer name
  12.                  (cons 10 (polar pp 0.0 0.10)) ;1st Alignment point
  13.                  (cons 11 (polar pp 0.0 0.05)) ;2nd Alignment point
  14.                  (cons 40 0.2)     ;Text height
  15.                  (cons 50 0.0)     ;Text rotation
  16.                  (cons 51 0.0)     ;Oblique angle
  17.                  (cons 62 256)     ;Colour (256=Bylayer)
  18.                  (cons 72 0)      ;Horizontal text justification
  19.                  (cons 73 0)      ;Vertical text justification
  20.    )
  21. )
  22.   (command "point" pp)
  23. (command "osmode" SnapVal)
  24. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 00:24:08 | 显示全部楼层
我建议如下:
  1. ([color=BLUE]defun[/color] c:ptlev ( [color=BLUE]/[/color] ins ocs pnt )
  2.    ([color=BLUE]while[/color]
  3.        ([color=BLUE]setq[/color] pnt ([color=BLUE]getpoint[/color] [color=MAROON]"\nPick point <exit>: "[/color])) [color=GREEN];; UCS point[/color]
  4.        ([color=BLUE]setq[/color] ins ([color=BLUE]cons[/color] ([color=BLUE]+[/color] ([color=BLUE]car[/color] pnt) 0.1) ([color=BLUE]cdr[/color] pnt))  [color=GREEN];; UCS Text insertion point[/color]
  5.              pnt ([color=BLUE]trans[/color] pnt 1 0) [color=GREEN];; WCS point[/color]
  6.              ocs ([color=BLUE]trans[/color] '(0.0 0.0 1.0) 1 0 [color=BLUE]t[/color]) [color=GREEN];; OCS normal vector[/color]
  7.        )
  8.        ([color=BLUE]entmake[/color]
  9.            ([color=BLUE]list[/color]
  10.               '(00 . [color=MAROON]"TEXT"[/color])  [color=GREEN];; Entity type[/color]
  11.                ([color=BLUE]cons[/color] 01 ([color=BLUE]rtos[/color] ([color=BLUE]caddr[/color] pnt))) [color=GREEN];; Z-coordinate of WCS point[/color]
  12.                ([color=BLUE]cons[/color] 07 ([color=BLUE]if[/color] ([color=BLUE]tblsearch[/color] [color=MAROON]"style"[/color] [color=MAROON]"arialn"[/color]) [color=MAROON]"arialn"[/color] ([color=BLUE]getvar[/color] 'textstyle))) [color=GREEN];; Text Style[/color]
  13.                ([color=BLUE]cons[/color] 10 ([color=BLUE]trans[/color] ins 1 ocs)) [color=GREEN];; OCS insertion point[/color]
  14.                ([color=BLUE]cons[/color] 50 ([color=BLUE]angle[/color] '(0.0 0.0) ([color=BLUE]trans[/color] ([color=BLUE]getvar[/color] 'ucsxdir) 0 ocs [color=BLUE]t[/color]))) [color=GREEN];; Rotation to match UCS[/color]
  15.               '(40 . 0.2)     [color=GREEN];; Text Height[/color]
  16.               '(62 . 256)     [color=GREEN];; Colour set to ByLayer[/color]
  17.                ([color=BLUE]cons[/color] 210 ocs) [color=GREEN];; Normal vector of OCS plane[/color]
  18.            )
  19.        )
  20.        ([color=BLUE]entmake[/color]
  21.            ([color=BLUE]list[/color]
  22.               '(00 . [color=MAROON]"POINT"[/color]) [color=GREEN];; Entity type[/color]
  23.               '(62 . 256)     [color=GREEN];; Colour set to ByLayer[/color]
  24.                ([color=BLUE]cons[/color] 010 pnt) [color=GREEN];; WCS point[/color]
  25.                ([color=BLUE]cons[/color] 210 ocs) [color=GREEN];; For when PDMODE /= 0[/color]
  26.            )
  27.        )
  28.    )
  29.    ([color=BLUE]princ[/color])
  30. )
回复

使用道具 举报

12

主题

25

帖子

13

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-6 00:55:59 | 显示全部楼层
李太棒了,谢谢你的帮助和快速反应
 
抢劫
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 01:13:52 | 显示全部楼层
不客气,罗伯
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 21:41 , Processed in 0.397726 second(s), 60 queries .

© 2020-2025 乐筑天下

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