乐筑天下

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

[编程交流] 两条多段线之间的尺寸

[复制链接]

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:11:40 | 显示全部楼层 |阅读模式
嗨,我是lisp的新手。因此,我只能创造简单的东西。
 
我需要一个代码来创建从一条多段线的顶点到另一条多段线的垂直尺寸。你能帮我吗?
 
优素福
回复

使用道具 举报

2

主题

9

帖子

7

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 18:24:33 | 显示全部楼层
我认为这是一种两步火箭方法。
第一步是创建线、面或体积来描述此距离。
你做到了吗?什么技术最合适?
然后会出现Dims(结果)。
 
这是什么挑战?你能再描述一下吗。
可能是样例dwg文件。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 18:34:59 | 显示全部楼层
HLAMmert你的方向错误,如果你做一个手动行,perp,选择第二个pline,选择pt将给出这个答案。有一个Lisp程序的地方。可以肯定的是,最近的一个对齐lisp找到了答案。
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:49:01 | 显示全部楼层
我附上了一个样本文件。
维图纸
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 18:57:50 | 显示全部楼层
 
因为你不是在为这个项目编码,
我的调度只适用于没有凸起的多段线,
否则可以使用更通用的vlax曲线xx方法
[code](定义c:dim2pl(/*错误*l l1 l2 lst mp os pt pts sz tmp vo vo2);hanhphuc 13.01.16(defun*error*(msg)(if os(setvar'osmode os))(if(not(wcmatch(strcase msg)“*CANCEL*,*EXIT*”)(princ(strcat“\n error:”msg))(setq os(getvar'osmode))(setvar'osmode 0)(defun xyz(l 3d/ls);递归灵感来自-Lee Mac(if l(cons(mapcar“”((x)(nth x l))(if 3d“(0 1 2)”(0 1))(xyz((if 3d cdddr cddr)l)3d))(if(and(mapcar“”((a b c/ss)(princ(strcat”\n点击“c”多段线…))(if(while(not ss)(setq ss(ssget“_+:E:S:L”'((0.*POLYLINE“)))(progn(setq E(ssname ss 0))(set b(vlax ename->vla object E));(vlax-property-available-p(eval b)'坐标](set a(xyz(vlax get(vlax ename->vla object e)'坐标)(=“POLYLINE”(cdr(assoc 0(entget e)))))))'(l1 l2)“(vo vo2)”(“1st”“2nd”)(mapcar“”((x)(set x(mapcar“”((p)(trans p 0 1))(eval x)))'(l1 l2))(setq l l1)l2(not(equal vo vo2))(重复2(foreach p1 l2(setq lst vl删除nil(mapcar“”((x) (hp:ptol p1 x[color=“red”]nil)(mapcar“”((a b)(list a b))l(cdr l())(if(setq pt(cadr(assoc(apply‘min(mapcar’car lst))lst))(setq pts(mapcar“”((x)(list(car x)(cadr x)))(list p1 pt))sz(*0.05(apply‘distance pts))mp(apply‘mapcar(cons)”((a b)(*0.5(+a b)))pts)tmp(if(vl cmdf“_dimaligned“p1 pt mp”(mapcar)(λ(a b)(vlax put(vlax ename->vla object(entlast))a b)'(“TextHeight”“ArrowheadSize”“TextInside”)(list sz sz 1);)(setq l l2 l1))(setvar‘osmode os)(princ));点对线(defun hp:ptol(p 2p 3d/ad d pp);hanhphuc-29.10.2015(setq ad(mapcar)(lambda(f)(应用f(mapcar“”((x)(list(car x)(cadr x)))2p))'(角度距离));_地图车d的末端(vxv(mapcar'-p(car 2p))(mapcar“”((f)(f(car ad)))(list cos sin)))pp(polar(car 2p)(汽车广告)d));_setq结束(如果(
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 19:01:50 | 显示全部楼层
非常感谢韩。我很感激你。
 
优素福
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 19:19:17 | 显示全部楼层
虽然这个程序不能百分之百奏效,但我很高兴它解决了你的任务
欢迎来到CADTutor
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 19:38 , Processed in 0.421059 second(s), 66 queries .

© 2020-2025 乐筑天下

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