乐筑天下

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

[编程交流] Tw之间的多段线长度

[复制链接]

20

主题

70

帖子

50

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 22:52:50 | 显示全部楼层 |阅读模式
我的任务是自动计算其他两条直线之间的总长度,可能必须首先在交点处断开,最后我需要两条直线之间的总和。
也许程序应该先把这些线转移到另一层,或者类似的东西来改变
 
谢谢
235251f52v2nht2bnq6tfq.jpg
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 23:12:20 | 显示全部楼层
你回答了自己的问题,有很多总行长的东西在那里,它可能需要额外的代码位说窗口和层过滤选择集。也许从www.Lee-mac开始。我很确定他Lisp程序。我相信他会帮忙重新编码,使它更明确。 
是的
;;  显示选定对象的总长度;;
;;  命令行;;
;;--------------------=={Total Length}==---------------;;
;;                                                            ;;
;;------------------------------------------------------------;;
;;  作者:Lee Mac,版权所有©2010-www.Lee-Mac。通用域名格式;;
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 23:25:59 | 显示全部楼层
感谢BIGAL的推荐
 
@danielk,以下程序应提供您所需的长度:
 
[code](defunc:intlen(/app ent idx int lst obj rtn sel tmp)(whileprognsetvar'errno 0)(setqent(carentsel[]MAROON]))(蓝色]=7(getvar'errno))(princ“\n如果失败,请重试。”)((nullent)nil)(/=“LWPOLYLINE”cdrassoc0(entgetent)))(princ[=BRUE]princMAROON]“\n所))(if=“ename”(typeent))(prognsetqlst(mapcar'cdrvl remove if not'(lambda(x)(=[/color(entget[[color]ent])lst(mapcar'(lambda(x)(apply'(consx lst))'(maxmin)obj(vlax ename->vla objectent)app([color=BLUE)(apply'vla zoomwindowcons应用程序(mapcar'vlax-3D-point反转lst)))(if([color=BLUE setqsel(apply]'[CO“_C”appendmapcar'(lambda(p)(transp 0 1))lst(((0。“弧,圆,椭圆,*线”)(-4)。“”)))(prognssdelent sel)(repeatsetqidx(sslengthsel))(setqtmp(appendvlax invokeobj'与(vlax ename->vla objectssnamesel(setqidx(1-idx)))acextendnone)tmp))(vla zoompreviousapp)(repeat/lengthtmp)3)(setqint(cons)vlax curve getclosestpointtoent(listcartmp)(cadrtmp)(cdddrtmp))(setqint(vl list*vlax curve getstartpointent)(vlax curve getendpointent)int)rtn’(nilnil)(mapcarfunctionlambda(a b)(setqrtn(conscons-b a)(cadr[[color]rtn”)(cdr[[color](reverse[[color]rtn]))(setq[[color]int(vl sort[[color](lambda[[color](x)(vlax曲线getdistatpoint[[color]ent x])int)
回复

使用道具 举报

20

主题

70

帖子

50

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 23:37:48 | 显示全部楼层
首先感谢你的支持,但我没有得到其他两条多段线之间的多段线的长度,我得到了两个结果,我不明白它们指的是什么。我认为这是交叉口两侧的两个长度,但如果我手动检查,结果不一样。
此外,lisp不会提示检查两行,因此有可能获得更多结果。我希望你明白我的意思。。
 
谢谢
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 23:49:49 | 显示全部楼层
下图应说明:
 
235258m7zwwblbawilm90v.png
回复

使用道具 举报

20

主题

70

帖子

50

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 23:58:47 | 显示全部楼层
 
知道了!天才一如既往!
非常感谢!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 03:34 , Processed in 0.471512 second(s), 67 queries .

© 2020-2025 乐筑天下

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