明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 逗亦斗霸

[提问] 请问用entmake在指定位置生成对应文字的代码怎么写?谢谢~

[复制链接]
 楼主| 发表于 2024-12-27 14:14:39 | 显示全部楼层
llsheng_73 发表于 2024-12-27 09:58
ptn用你的点构成表,lst用你要写的文字内容构成表,到这一步相当于填写姓名、性别那么简单了

http://bbs.mjtd.com/forum.php?mo ... B%D7%E9%B1%E4%C1%BF
感谢指点!昨晚其实搜索到了大佬发的帖子,但当时没懂
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-27 14:27:10 | 显示全部楼层
fangmin723 发表于 2024-12-27 12:59
额,我这只是示意,具体的你自己改动下就行了
(setq lst (list (cons  (getpoint "拾取点a")  "文字1")  ...

感谢回复!我添加'(7 . "宋体") 和'(41 . 0.8)后是正常的,但加上'(71 . 1) '(72 . 1) '(73 . 2)后文字位置不对了,想请问一下,怎么添加控制文字对正方式的组码?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-27 14:30:24 | 显示全部楼层

感谢版主指点!这种写法也是同样的疑问,对正方式'(71 . 1) '(72 . 1) '(73 . 2)要怎么添加进去啊?
回复 支持 反对

使用道具 举报

发表于 2024-12-27 15:30:29 | 显示全部楼层
本帖最后由 llsheng_73 于 2024-12-27 15:32 编辑

71

文字生成标志(可选;默认值 = 0):
2 = 文字反向(在 X 轴方向镜像)
4 = 文字倒置(在 Y 轴方向镜像)


组  72 和 73 整数代码
组  73组 7212345
0
3(顶端对正)左上中上右上
2(居中对正)左中正中右中
1(底端对正)左下中下右下
0(基线对正)中心对齐中间拟合

如果组 72 和/或 73 的值非零,则第一对齐点的值将被忽略,AutoCAD 将根据第二对齐点和文字字符串的长度和高度(应用文字样式之后)计算新值。 如果组 72 和 73 的值为零或缺失,第二对齐点将没有意义。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-27 15:59:32 | 显示全部楼层
llsheng_73 发表于 2024-12-27 15:30
如果组 72 和/或 73 的值非零,则第一对齐点的值将被忽略,AutoCAD 将根据第二对齐点和文字字符串的长 ...

这个看懂了,以前也收藏过,'(71 . 1) '(72 . 1) '(73 . 2)用在单独生成文字的entmake代码可以正常生成正中对齐的文字,但在对应生成文字的代码里就不管用了,几个文字都生成到原点去了~
回复 支持 反对

使用道具 举报

发表于 2024-12-27 17:41:22 | 显示全部楼层
逗亦斗霸 发表于 2024-12-27 15:59
这个看懂了,以前也收藏过,'(71 . 1) '(72 . 1) '(73 . 2)用在单独生成文字的entmake代码可以正常生成正 ...

第一对齐点10组第二对齐点11组,多看看别人写的,通常都是10组和11组给同样的坐标,反正只有一个起作用
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-27 21:50:56 | 显示全部楼层
llsheng_73 发表于 2024-12-27 17:41
第一对齐点10组第二对齐点11组,多看看别人写的,通常都是10组和11组给同样的坐标,反正只有一个起作用

果然可以,太感谢了~
回复 支持 反对

使用道具 举报

发表于 2024-12-27 22:05:33 | 显示全部楼层
逗亦斗霸 发表于 2024-12-27 14:30
感谢版主指点!这种写法也是同样的疑问,对正方式'(71 . 1) '(72 . 1) '(73 . 2)要怎么添加进去啊?

  1. (setq lst-tx'("文字1" "文字6" "文字8")
  2.       lst-pt(list a b d)
  3. )
  4. (mapcar'(lambda(x y)(xyp-Text 5 x y))lst-pt lst-tx)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-27 22:15:14 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2024-12-29 17:01:17 | 显示全部楼层
本帖最后由 lee50310 于 2024-12-30 16:25 编辑
逗亦斗霸 发表于 2024-12-27 14:30
感谢版主指点!这种写法也是同样的疑问,对正方式'(71 . 1) '(72 . 1) '(73 . 2)要怎么添加进去啊?

  1. ;;--------------------------------------------------------- -------   
  2. (defun c:tt()
  3. (mapcar 'set '( a b d) (list '(634.061 61.7639 0.0) '(634.061 58.2639 0.0) '(612.788 52.4797 0.0)) )

  4. (setq lst-tx '("文字1" "文字6" "文字8")
  5.       lst-pt (list a b d)
  6.       data '(1 1 2) ;文字對齊方式
  7. )
  8. (mapcar'(lambda(x y)(make:txt "宋體" 2.5 0 6 data x y))lst-pt lst-tx)
  9. )
  10. ;;------------- -------------------------------------



回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-1-22 18:51 , Processed in 0.175389 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表