乐筑天下

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

[编程交流] 从lisp插入文本

[复制链接]

2

主题

7

帖子

5

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 14:59:54 | 显示全部楼层 |阅读模式
是否可以从lisp自动插入文本,
我试过了,但没用。。。。
 
  1. (command "dtext"
  2.     pt1 ; variable for insertion point
  3.            "" ; scale
  4.            "" ; rotation
  5.     pt1Z ; variable for text
  6.     ""

 
我用光标手动插入文本,
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
238
发表于 2022-7-5 15:05:45 | 显示全部楼层
我认为你必须在变量前面加一个!
 
  1. (command "DTEXT" !pt1 "" "" "my text" "")

 
您可能还需要一个“”表示文字高度。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 15:08:31 | 显示全部楼层
嗨,莫戈斯,欢迎来到CADtutor,
 
如果我是你,我会使用entmake插入你的文本,因为它更可靠。-有时,内置ACAD文本插入器会假设文本高度或旋转或两者兼有,因此会改变提示的顺序。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 15:12:13 | 显示全部楼层
类似这样:
 
如果不希望创建文本层(如果还没有文本层),请删除蓝线,并相应地更改红色部分以满足您的需要
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-5 15:12:42 | 显示全部楼层
以下是我使用的两个子例程:
多行文字
  1. (defun makeMTEXT (pt txt width txtsize / entl)
  2. (setq entl (list
  3.               '(0 . "MTEXT")
  4.               '(100 . "AcDbEntity")
  5.               '(100 . "AcDbMText")
  6.               (cons 10 pt)
  7.   &nb22)
  8.                (cons 1 val2)
  9.                (cons 7 tstyle)
  10.                (cons 10 p1)
  11.                (cons 40 theight)
  12.                (cons 41 1)
  13.                (cons 50 0)
  14.         )
  15. )
  16. (entmake txt1)
  17. )
回复

使用道具 举报

CAB

29

主题

781

帖子

430

银币

中流砥柱

Rank: 25

铜币
526
发表于 2022-7-5 15:18:32 | 显示全部楼层
我也会使用entmakex,但要使用命令,请使用以下命令:
  1. ;; If text height is undefined (signified by 0 in the table)
  2. (if (zerop (cdr(assoc 40(tblsearch "style" (getvar "textstyle")))))
  3.    ;; Draw the text using the current text height (textsize)
  4.    (command ".text" "c" "_non" txtpt "" L_Angle txt)
  5.    ;; Otherwise use the defined text height
  6.    (command ".text" "c" "_non" txtpt L_Angle txt)
  7. ) ; endif
回复

使用道具 举报

2

主题

7

帖子

5

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 15:20:47 | 显示全部楼层
谢谢大家的快速回复,
我刚开始工作,
谢谢李简洁完整的代码,
今天晚些时候我会试试这些,
 
 
摩门教徒。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 15:24:39 | 显示全部楼层
 
很好的一个CAB,我的LISP的一个更小更简单的解决方案-但是entmakex和entmake之间的区别是什么?
回复

使用道具 举报

CAB

29

主题

781

帖子

430

银币

中流砥柱

Rank: 25

铜币
526
发表于 2022-7-5 15:27:25 | 显示全部楼层
我喜欢这些问题。
 
entmake返回部分实体列表,而entmakex返回ent名称。
我觉得这更有用。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 15:29:25 | 显示全部楼层
好的,谢谢
 
这是否会改变您使用它们的方式,就像文本示例一样,它是否像用entmakex替换entmake一样简单?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-15 00:52 , Processed in 2.079630 second(s), 73 queries .

© 2020-2025 乐筑天下

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