乐筑天下

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

[编程交流] 最后一个问题

[复制链接]

55

主题

243

帖子

188

银币

后起之秀

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

铜币
275
发表于 2022-7-6 14:37:49 | 显示全部楼层 |阅读模式
我使用行(setq e1(entlast))来捕获创建的最后一个实体。
最后创建的图元是多段线。然而,在我的代码中,我有一个圆的选择集,出于某种原因,它捕获了选择集中的最后一个圆实体。如何强制它查找创建的最后一条多段线,而不是一个圆?
谢谢任何人的帮助
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:42:48 | 显示全部楼层
如果多段线是创建的最后一个对象,则该多段线应该是“entlast”拾取的对象。
 
你确定不是先创建多段线,然后创建圆,然后修改多段线吗?
 
修改后的多段线不会是最后创建的图元。
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 14:50:02 | 显示全部楼层
如果要复制的圆也算是最后创建的实体。就像李说的那样,我会仔细检查你的代码。
回复

使用道具 举报

55

主题

243

帖子

188

银币

后起之秀

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

铜币
275
发表于 2022-7-6 14:53:37 | 显示全部楼层
是的,你们都是对的。发生的情况:首先,我选择闭合的pline,然后在圆上选择ssget,然后修改pline。也许entlast不是捕捉修改后pline的好选择。是否有其他方法可以捕获此实体?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:58:23 | 显示全部楼层
如果你选择了它,那么你肯定已经回答了自己的问题。。
回复

使用道具 举报

55

主题

243

帖子

188

银币

后起之秀

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

铜币
275
发表于 2022-7-6 14:59:45 | 显示全部楼层
好的,那么让我重新回答我的问题-我如何捕捉已修改为变量的多段线?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:05:28 | 显示全部楼层
 
如果是同一条多段线,则无关紧要-引用实体名称将返回新修改的结果。
回复

使用道具 举报

55

主题

243

帖子

188

银币

后起之秀

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

铜币
275
发表于 2022-7-6 15:09:03 | 显示全部楼层
为了更清楚地说明我想要实现的目标,这是我的代码,类似于前一篇文章。我以为Regenall会解决这个问题——但不是!
 
要使用它,请绘制一条闭合矩形样线(约1000x1000),然后
在其中放置一些圆圈。
选择pline,然后选择所有圆。
您会发现,第一次尝试时,将在pline上创建一个区域。
然而,第二次(在一个新的例子中)其中一个圆将变成一个区域。
你知道怎么解决吗?
 
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:15:44 | 显示全部楼层
试一试:
 
[code](定义c:扩展(/Enableline ObjName LowLeft right LowRight UpLeft TopCl BotCl lEnt pt1 pt2 lDat test flag ss tCirc subSs total ent subSs\u lst cLst Rad lenextruption temptlt en3L IntPointLt ExtPtL ExtPtTopL ExtPtBotL CircTopL CircBotL en4L IntPointTopL en5L IntPointBotL en6L en7L en8L test FinalOutline)(vl load com)(setvar“osmode”0)(setq ENALLINE(car(entsel“\n选择矩形轮廓:”)(setq ObjName(vlax ename->vla object ENALLINE))(vla GetBoundingBox ObjName“LOWEFT”RIGHT)(setq LOWEFT(vlax safearray->list LowLeft)right(vlax safearray->list right)lowlight(list(car right)(cadr LowLeft))UpLeft(list(car LowLeft)(cadr right));setq;查找垂直中心线矩形(setq TopCl(mapcar’+UpLeft(mapcar’/(mapcar’-垂直UpLeft)'(2.0 2.0 2.0)));中心线顶部(setq BotCl(mapcar’+低左(mapcar’/(mapcar’-低右低左)’(2.0 2.0 2.0));中心线底部(命令行“TopCl BotCl”“);绘制温度线(setq lEnt(entlast))(if(and;;;(setq lEnt(car(entsel)“\n>>>…选择垂直线…>>>:”)(eq“line”(cdadr(entget lEnt)))(null(redraw lEnt 3))(setq pt1(getpoint”\n>>…拾取圆上窗口的第一个点…>>>:”)(null(initget 32))(setq pt2(getcorner pt1“\n>>>…拾取圆上窗口的第二个点…>>>>:“”)(null(redraw lEnt 4))(progn(setq lDat(list(cdr(assoc 10(entget lEnt))))(cdr(assoc 11(entget lEnt)ЮЮ))(entdel lEnt)(重复2(setq test 1)(if(setq ss(ssget“_c”pt1 pt2(list)(0。“圆圈”)(cons-4(如果标志“>=,*,*”“=,=,*”)
回复

使用道具 举报

55

主题

243

帖子

188

银币

后起之秀

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

铜币
275
发表于 2022-7-6 15:16:59 | 显示全部楼层
Yee hah!李,你来救我了
我想我试过了。当你有一双新鲜的眼睛时,这很好。
我现在觉得有点傻。。。。。
非常感谢
小鱼
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 00:31 , Processed in 0.384542 second(s), 72 queries .

© 2020-2025 乐筑天下

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