明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 772|回复: 7

[基础教程] 请教 entupd 函数的用法!!!

[复制链接]
发表于 2022-10-23 20:46 | 显示全部楼层 |阅读模式
各位大神:我从资料上复制的entupd的用法,程序红色部分总感觉不对,语法结构也不理解,哪位大神指点一下?其中(1,2)是什么意思?谢谢!
语法
    (entupd ename)
功能及参数
    正如前面所描述, 由 entmod 修改多段线的顶点或图块的属性后, 其整体图元将不会在屏幕上更新。例如, 将复杂多段线上的 100 个顶点全部修改, 则需要重新计算和再投影, 时间十分长。而 entupd 函数是将修改好的聚合线或图块直接在屏幕上更新。 entupd 函数可以使用多重折线或图块任何部分的图元名来调用它, 它不需要开头的图元——entupd 将可找的到开头。当entupd 是专为有属性的多段线和图块而设计时, 它可以使用任何图元来调用它。它都会在屏幕上重新产生这个图元, 并且包括所有的子图元。
    【注意】如果 entupd 被用于一个呈嵌套的图元上(即一个包含在一个图块中的图元)或在一个包含嵌套图素的图块上, 它可能不会重新产生该图块的所有嵌套图元。您必须调用 REGEN 命令才能保证整个图块和它的嵌套图元都会被重新产出来。您可以在 AutoLISP 中键入(Command“regen”)来完成这件工作。
范例
假设在图形中的第一个图元是一条有几个顶点的多段线, 则:
(setq e1 (entnext));          将多段线的图元名设定为 E1
(setq e2 (entnext e1));       将多段线的第一个顶点设定为 E2
(setq ed (entget e2));        将顶点数据设定为 ED
(setq ed
        (subst ' (10 1.0 2.0);     在 ED 中将顶点的位置改变到坐标点上
        (assoc 10 ed)  ; (1, 2)
        ed
       )
    )
(entmod ed);                     移动在图形中的顶点
(entupd e1);                     重新再产生 E1 多段线图元

 楼主| 发表于 2022-10-23 20:49 | 显示全部楼层
能不能把 subst 函数这个地方换一个好理解的写法?
发表于 2022-10-23 21:16 | 显示全部楼层
看的一头雾水 这是哪来的范例 前两句就不对
发表于 2022-10-23 21:23 | 显示全部楼层
(setq e1(car(entsel "\n选择多段线:")));将多段线的图元名设定为 E1
(setq e2 (assoc 10(entget e1)))       ;将多段线的第一个顶点设定为 E2
(setq ed (entget e1))                 ;将多段线的数据设定为 ED
(setq ed (subst '(10 1.0 2.0) e2 ed)) ;在 ED 中将顶点的位置改变到坐标点上
(entmod ed)                           ;更新在图形中的顶点
(entupd e1)                           ;更新图元在屏幕中的显示
发表于 2022-10-23 23:33 | 显示全部楼层
多段线的dxf表里面包含多个组码为10的表,要对应取出你想改变的那个表,然后再去subst,不然都是白忙活
 楼主| 发表于 2022-10-24 18:19 | 显示全部楼层
陨落 发表于 2022-10-23 23:33
多段线的dxf表里面包含多个组码为10的表,要对应取出你想改变的那个表,然后再去subst,不然都是白忙活

“多段线的dxf表里面包含多个组码为10的表,要对应取出你想改变的那个表”,就是不知道怎么取所以才研究一下这些函数,也是一头雾水
 楼主| 发表于 2022-10-24 18:26 | 显示全部楼层
飞雪神光 发表于 2022-10-23 21:23
(setq e1(car(entsel "\n选择多段线:")));将多段线的图元名设定为 E1
(setq e2 (assoc 10(entget e1)))    ...

感谢大神指点,试了一下确实可以实现第一个定点坐标的更新,可是怎么更新第2个,第3个呢,如果n个顶点呢?该使用什么函数?
发表于 2022-10-25 00:31 | 显示全部楼层
可以通过鼠标指定  也可以提取多段线点表
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-6 20:45 , Processed in 0.187659 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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