乐筑天下

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

[编程交流] 与多段线点的距离

[复制链接]

2

主题

9

帖子

7

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 08:39:45 | 显示全部楼层 |阅读模式
大家好!你能帮我用一个lsp程序自动生成从多段线的点到参考线的线性尺寸吗,因为用经典的comand(dimlinear)我可以一次画出每个点的尺寸线。我附上了一张图纸,以便您更好地理解。请原谅我的英语!
 
谢谢
多段线点到参照线的距离。图纸
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 08:45:15 | 显示全部楼层
试试这个:
  1. (defun c:DimTwo(/ aDoc Space pl ReFL pt pt2 ss)
  2. (vl-load-com)
  3. (setq aDoc (vla-get-ActiveDocument (vlax-get-acad-object)))
  4. (setq Space
  5. (if (= 1 (getvar "CVPORT"))
  6.    (vla-get-PaperSpace aDoc)
  7.    (vla-get-ModelSpace aDoc)
  8. )
  9. )
  10. (prompt "\nSelect Polyline:")
  11. (if (and
  12. (setq Pl (ssget ":E:S:L" '((0 . "LWPOLYLINE"))))
  13. (progn (prompt "\nSelect Reference Line:")
  14.        (setq RefL (ssget ":E:S:L" '((0 . "*LINE"))))
  15. )
  16.      )
  17.    (progn
  18.      (setq RefL (vlax-ename->vla-object (ssname RefL 0)))
  19.      (foreach pt (mapcar
  20.      'cdr
  21.      (vl-remove-if-not
  22.        '(lambda (x) (= (car x) 10))
  23.        (entget (ssname pl 0))
  24.      )
  25.    )
  26. (vla-addDimRotated
  27.   space
  28.   (vlax-3d-point (append pt '(0.0)))
  29.   (vlax-3d-point
  30.     (setq pt2 (vlax-curve-getclosestpointto RefL pt))
  31.   )
  32.   (vlax-3d-point
  33.     (mapcar (function (lambda (a b) (/ (+ a b) 2.))) pt pt2)
  34.   )
  35.   1.57079633
  36. )
  37.      )
  38.    )
  39. )(princ)
  40. )

 
希望这有帮助
回复

使用道具 举报

2

主题

9

帖子

7

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 08:49:23 | 显示全部楼层
它工作得很好!非常感谢你!
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 08:52:55 | 显示全部楼层
 
不客气,约翰宁
很高兴它对你有用。
 
干杯
回复

使用道具 举报

24

主题

141

帖子

115

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
123
发表于 2022-7-6 08:59:28 | 显示全部楼层
 
你好
有人能帮我吗?
在Lisp中,这会产生以下错误消息:
 
“不正确的字符串ssget模式”
 
谢谢你的帮助!
 
马丁
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 09:02:53 | 显示全部楼层
(ssget“_:E:S:L”'((0。“LWPOLYLINE”)));
 
但不确定
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 09:06:39 | 显示全部楼层
这是我的猜测,因为OP的地点是奥地利。
回复

使用道具 举报

24

主题

141

帖子

115

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
123
发表于 2022-7-6 09:09:41 | 显示全部楼层
不幸的是,没有。错误仍然存在。
错误消息:选择参考线:错误:字符串ssget模式不正确
 
问候Martin
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 09:12:15 | 显示全部楼层
我有兴趣阅读奥地利acad*dev.chm可用的SSGET模式
回复

使用道具 举报

2

主题

53

帖子

57

银币

初来乍到

Rank: 1

铜币
14
发表于 2022-7-6 09:18:17 | 显示全部楼层
是否可以将其修改为也适用于水平距离?即基准线是垂直的。
干杯
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 09:06 , Processed in 0.518112 second(s), 72 queries .

© 2020-2025 乐筑天下

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