乐筑天下

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

[编程交流] 链测长度lisp到等高线标签

[复制链接]
pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-5 22:57:49 | 显示全部楼层
 
代码应该是这样的。
 
如果间隔等于或大于多段线的长度,则应仅标记多段线的起点、中点和终点。(右侧图纸)
如果间隔小于多段线的长度,则应在图形(左侧)上标记多段线。
回复

使用道具 举报

8

主题

34

帖子

26

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 23:01:07 | 显示全部楼层
请原谅我在聚会上迟到了,但这是专门为直线段排练的吗?
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-5 23:05:29 | 显示全部楼层
 
无pbe
我只是用直线来演示。
回复

使用道具 举报

8

主题

34

帖子

26

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 23:08:32 | 显示全部楼层
对不起,我抛弃了你。
 
  1. 6
232535adomumzbueyd7cp0.jpg
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-5 23:10:29 | 显示全部楼层
谢谢pbe
它工作完美:D
等待你的答复是值得的
回复

使用道具 举报

8

主题

34

帖子

26

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 23:13:04 | 显示全部楼层
 
你好,hanhphuc
 
它也能工作
 
谢谢你们的帮助
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-5 23:17:09 | 显示全部楼层
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 23:22:13 | 显示全部楼层
 
i just add a line in red, not fully tested
  1. ;;;;;CONTOUR LABELING;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;based on chainage lisp posted by sean.keohane ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;[color="red"](setq *dist* 100.) ; default[/color](defun c:cl (/ dist height to ss count height ent obj chainage p p2 len obj bearing); vla-object ent)    chainage *dist*    ) ;_ end of setq     (setq p (vlax-curve-getstartpoint obj))     (setq p2 (vlax-curve-getendpoint obj));;;;added by rrulep to label the end points of polyline[color="blue"];;added by hanhphuc if interval > length, (if.. progn..)[/color][color="red"]      (setq len (vlax-curve-getDistAtPoint obj p2))     (if (>= *dist* len)(mapcar        ''((x)           (_text            x            (_ang x (vlax-curve-getPointAtDist obj (+ (vlax-curve-getDistAtPoint obj p) 0.001)))            to            (* height 10. (/ (getvar 'viewsize) (cadr (getvar 'screensize))))            (caddr x)            )           )        (list p (vlax-curve-getPointAtDist obj (/ len 2)) p2)        ) ;_ end of mapcar[/color][color="red"](progn [/color](setq bearing (_ang p (vlax-curve-getPointAtDist obj (+ chainage 0.001))))       (_text p bearing to height (caddr p));;;;modified by mircea to get the elevation value of polyline       (_text p2 bearing to height (caddr p));;;;added by rrulep to label the end points of polyline       (while (and (setq point1 (vlax-curve-getPointAtDist obj chainage))                   (setq point2 (vlax-curve-getPointAtDist obj (+ chainage 0.001)))                   ) ;_ end of and         (setq bearing (+ (angle point1 point2) (/ (* 3 PI) 2.0)))         (_text point1 bearing to height (caddr point1));;;;modified by mircea to get the elevation value of polyline         (setq chainage (+ chainage *dist*))         ) ;_ end of while       (setq count (1+ count))[color="red"]       ) ;_ end of progn) ;_ end of if[/color]     ) ;_ end of repeat   ) ;_ end of if ) ;_ end of defun
回复

使用道具 举报

8

主题

34

帖子

26

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 23:23:11 | 显示全部楼层
Thanks pbe
It works perfectly:D
waiting for your reply is worthit
回复

使用道具 举报

8

主题

34

帖子

26

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 23:26:29 | 显示全部楼层
 
hi hanhphuc
 
it also works
 
thanks for your help guys
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 06:33 , Processed in 0.568370 second(s), 72 queries .

© 2020-2025 乐筑天下

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