明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 438|回复: 5

[提问] 请问entmake函数生成单行文字必须设置的dxf组码有哪些

[复制链接]
发表于 2025-1-8 16:04:15 | 显示全部楼层 |阅读模式
我采用下面代码无法生成单行文字,命令行返回nil,应该是缺少必要的组码,请问还缺少哪些。

(entmake (list '(0 . "TEXT") '(1 . "abc") '(10 0 0 0)))
回复

使用道具 举报

发表于 2025-1-8 17:44:30 | 显示全部楼层
本帖最后由 llsheng_73 于 2025-1-8 17:45 编辑

绝大多数图元,可以通过自己先搞一个,entget它的DXF数据后,不停测试去掉某个组能不能entmake出来,最后可以留下必要组码,少数图元不行
entmake创建图元必要条件(慢慢更新)
http://bbs.mjtd.com/forum.php?mo ... 2482&fromuid=202795
(出处: 明经CAD社区)
  1. (defun NecDXF(e / s en a);;;图元必要组码
  2.   (foreach x(setq en(entget e))
  3.     (if(setq e(entmakeX(setq a(vl-remove x en))))
  4.       (setq s(cons e s)en a)))
  5.   (foreach x s(entdel x))
  6.   en)


(NECDXF(car(entsel)))=>((0 . "CIRCLE") (10 1092.79 1948.12 0.0) (40 . 500.0))

(NECDXF(car(entsel)))=>((0 . "TEXT") (10 2382.15 2263.81 0.0) (40 . 2.5) (1 . "3"))

回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2025-1-8 16:12:48 | 显示全部楼层
试出来了,原来少了一个字高(40 . 300)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-1-8 20:34:09 | 显示全部楼层
llsheng_73 发表于 2025-1-8 17:44
绝大多数图元,可以通过自己先搞一个,entget它的DXF数据后,不停测试去掉某个组能不能entmake出来,最后可 ...

感谢大神!!!
回复 支持 反对

使用道具 举报

发表于 2025-1-9 11:03:16 | 显示全部楼层
这种用 vla-Add 就好,对象方式简单明了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-22 19:09 , Processed in 0.207975 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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