乐筑天下

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

[编程交流] 帮助修改现有lisp

[复制链接]

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:34:17 | 显示全部楼层
你试过这个吗?
回复

使用道具 举报

18

主题

81

帖子

63

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-5 16:41:31 | 显示全部楼层
好的,我找到了另一个编写的break多行lisp。作者:T.O.H.()2006*
 
我希望我补充的是正确的。
 
所以我真的在想,如果你能添加或修改它,得到它所指的一条公共线,(不管是哪一层)并给那个层一个值1。然后复制上面列出的层数。(总共11个)因此您将有一个1-11之间的值。所以我认为,随着值的升高,假设管道会越低。在每个交叉点处,将创建一个打断,每侧打断3“,并使用中点处的交点。
 
让我知道我是否用这个在左外野跑得更远。
 
再次感谢您的帮助和支持。
回复

使用道具 举报

18

主题

81

帖子

63

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-5 16:42:22 | 显示全部楼层
 
ronjomp我已经看到了,但由于对阅读这些东西如此陌生,我认为这只是一个描述。我必须试一试,看看这是否行得通。我想我只是在看一些可以自动化一点的东西。设置它,我想是为了得到它不确定::哎哟:?
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 16:49:39 | 显示全部楼层
嗯,我尝试了一些东西,但没想到李在执行break命令后必须处理生成的对象,所以我将把我令人沮丧的break尝试留在这里,作为其他人的开始:
 
[code](defun C:测试(/vlax list->3D点_MyBrk$dist _unique _getbrk$dist SS oL sLyrs kbL d tmp ibsL en)(defun vlax list->3D点(lst)(if lst(cons(list(car lst)(cadr lst)(caddr lst))(vlax list->3D点(cdddr lst))))(setq _MyBrk$dist(lambda(e xL/o pL e tmpL L bDis bPt1 bPt2 tmpeL)(cond((and(vl每个“集合”(o pL)(列表(汽车xL)(cdr xL))(eq’VLA-OBJECT(o型));(setq e(entlast))(foreach p pL(and tmpL(setq L tmpL))(if(not(setq bDis(vlax curve getDistatPoint o p))(while(and(not bDis)L)(setq bDis(vlax curve getDistatPoint(setq o(car L))p))(setq L(cdr L)))(if bDis(progn(or(setq bPt1(vlax曲线getPointatDist o(+BDI(/*brk$dis*2)))(setq bPt1(vlax curve getEndPoint o))(或(setq bPt2(vlax curve getPointatDist o(-bDis(/*brk$dis*2)))(setq bPt2(vlax curve getStartPoint o))(progn(命令“_.BREAK”(list(vlax vla object->ename o)p)_F“bPt1 bPt2)(foreach x((lambda(/tmp)(setq tmp(entnext e))(而tmp(setq tmpeL(cons(vlax ename->vla object tmp)tmpeL))(setq tmp(entnext tmp)))tmpeL))(_MyBrk$dist(entlast)(cons x pL));progn(setq tmpL(cons(vlax ename->vla object(entlast))tmpL)));foreach;(如果tmpeL(mapcar’(λ(x)(_MyBrk$dist(cons x pL)))reL)tmpeL));cond);λ);setq _MyBrk$dist(setq _unique(lambda(L/r)(foreach x L(or(member x r)(setq r(cons x r)))r))(setq _getbrk$dist(lambda(/tmp)(if(or)(and(setq tmp)(getdist(strcat“\n指定中断距离”(if*brk$dis*(strcat”“)”“)”):“”))(setq*brk$dis*tmp))*brk$dis*)*brk$dis*);setq \u getbrk$dist(cond((not(setq SS(ssget“\u:L”))))(提示“\n未选择任何内容。”)((lambda(/i)(repeat(setq i(sslength SS))(setq oL(cons(vlax ename->vla object(ssname SS(setq i(1-i)))oL)))nil))((not(setq kbL(LM:listbox“*~>将中断的层
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 00:16 , Processed in 0.417392 second(s), 70 queries .

© 2020-2025 乐筑天下

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