乐筑天下

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

[编程交流] 如何适应多行文字?

[复制链接]

4

主题

11

帖子

8

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 22:10:39 | 显示全部楼层 |阅读模式
我想知道通过知道一个地方的高度和宽度,是否可以将多行文字实体放在一个地方?
我们如何调整多行文字高度以适应entmake多行文字中的位置?
  1. (entmake
  2. (list
  3.         '(0 . "MTEXT")
  4.         '(102 . "{ACAD_REACTORS")
  5.         '(102 . "}")
  6.         '(100 . "AcDbEntity")
  7.         '(100 . "AcDbMText")
  8.          (cons 10 insertion_point)
  9.         (cons 40 text_height)
  10.                (cons 62 4)
  11.         (cons 41 refrence_rectangle_width)
  12.         '(42 . 2.55)
  13.         '(43 . 0.18)
  14.         '(44 . 1.0)
  15.         '(71 . 5)
  16.         '(72 . 1)
  17.         (cons 1  "Your string hear")
  18.         '(7 . "Text Style")
  19.         '(210 0.0 0.0 1.0)
  20.         '(11 1.0 0.0 0.0)
  21.         '(50 . 0.0)
  22.         '(73 . 1)
  23.         )
  24. )
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 22:36:57 | 显示全部楼层
 
您好,masoud_123,
欢迎来到论坛
 
我希望这个文本框因素有意义?
 
  1. (defun [color="blue"]Mtext_fit[/color] (pt str / doc bb)
  2. ;hanhphuc 26/11/2014
  3. (setq        doc (vlax-get-acad-object)
  4.        [color="red"]str (substr str 1 (vl-string-search "\" str))  ;<-- added[/color]   
  5. bb  (apply 'mapcar
  6.            (cons '- (reverse (mapcar ''((x) (cdr (reverse x))) (textbox (list (cons 1 str))))))
  7.            ) ;_ end of apply
  8. ) ;_ end of setq
  9. (vla-AddMText
  10.    (foreach x '(ActiveDocument ActiveLayout Block) (setq doc (vlax-get doc x)))
  11.    (vlax-3d-point pt)
  12.    (* (car bb) (apply '/ (reverse bb)))
  13.    str
  14.    ) ;_ end of vla-AddMText
  15. ) ;_ end of defun

 
例子:
  1. (defun c:test (/ *error* pt str var)
  2. (set'var (getvar 'dynmode))
  3. (defun *error* (msg)
  4.    (if        var
  5.      (setvar 'dynmode var)
  6.      ) ;_ end of if
  7.   (princ ":-(")
  8.    ) ;_ end of defun
  9. (if (and (setq pt (getpoint "\nInsertion Point.."))
  10.    (setvar 'dynmode 1)
  11.    (setq str (getstring "\nInput text:  " t))
  12.    (setvar 'dynmode var)
  13.    ) ;_ end of and
  14.    ([color="blue"]Mtext_fit[/color] pt str)
  15.    ) ;_ end of if
  16. (princ)
  17. ) ;_ end of defun

 
通过手动拟合单线或多线,
只需在记事本中键入&*复制文本内容,然后在acad空间中右键单击->粘贴,或Crtl+v
*自动粘贴为多行文字
我可能错了,只有我的0.02美元
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 22:49:15 | 显示全部楼层
你好,hanhphuc
 
我对文本框一无所知。。。感谢您提及:-)
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 23:02:52 | 显示全部楼层
回复

使用道具 举报

4

主题

11

帖子

8

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 23:12:37 | 显示全部楼层
Hi hanhphuc
 
I didn't know anything about textbox... Thank you for mentioning :-)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-6 15:05 , Processed in 0.446765 second(s), 63 queries .

© 2020-2025 乐筑天下

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