乐筑天下

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

[编程交流] 偏差箭头LISP

[复制链接]

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 15:19:26 | 显示全部楼层 |阅读模式
你好
我是论坛新手,
我想请你帮忙。我需要一个程序/应用程序(LISP),它将插入一个偏差省道和一个点到一条直线的距离。更具体地说,我想标记测量点和设计线,以表明其与项目的偏差。我试着自己写些东西,但对我来说太复杂了。
箭头应显示执行偏离设计的方向,最好根据图纸单独确定其长度。
在这张照片中,我展示了我的意思。
提前感谢您的帮助
当做
161927gr55j7wwzruyj5vf.jpg
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 15:28:27 | 显示全部楼层
94人已经看到了这一点,像我一样不太明白你想要什么。比较设计点和竣工是很常见的,但你们的图片并没有给出任何线索。
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 15:36:13 | 显示全部楼层
对不起,也许我没有准确地表达我的想法。我有一个大地测量点,我想显示它与投影线的偏差。这就是我想用箭头的原因。
我有一个程序,在选择一个测量点和一条直线上的一个点插入一个箭头后,问题是当点接近一条直线时,箭头很小,我希望程序插入一个固定长度的箭头(前面定义的,例如0.2个单位),并在图形中以文本形式另外给出点到直线的距离(mm)。
箭头2.lsp
161928lpnjar85rp3ojg86.jpg
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 15:39:37 | 显示全部楼层
另一个
  1. [color="green"]
  2. ;with minimum size [/color]
  3. (defun _arrow ( pt p1 [color="red"]h[/color] / d sz)
  4. (setq sz (distance pt p1))
  5. (vla-put-ArrowheadSize
  6.    (vlax-ename->vla-object
  7.      (entmakex (list '(0 . "LEADER")
  8.                      '(100 . "AcDbEntity")
  9.                      '(100 . "AcDbLeader")
  10.                      '(73 . 3)
  11.                      '(8 . "ARROW")
  12.                      (cons 10 p1)
  13.                      (cons 10 (polar p1 (angle p1 pt) (setq sz (cond ((< sz h ) h) (sz)))))
  14.                      )
  15.                )
  16.      )
  17.    (/ sz  3.0 )
  18.    )
  19. )
  20. (vl-load-com)

 
 
  1. (defun c:test ( / p1 p2 )
  2. (and
  3. (setq p1 (getpoint "\nSpecify point 1: "))
  4. (setq p2 (getpoint p1 "\nSpecify point 2: "))
  5. (_arrow p1 p2 [b][color="red"]3.0[/color][/b]) [color="green"]; minimum size = 3.0 [/color]
  6. )
  7. (princ)
  8. )
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 15:47:41 | 显示全部楼层
稍后,使用与刚刚用完的电池接近的点可能是有用的。当我开始充电时,我知道它需要两个答案,一个大的和一个小的,所以在里面画箭头或标签作为一个非常小的外部箭头。
 
  1. (vl-load-com)
  2. ; code by BIGAL
  3. (defun c:test ( / pt1 pt2  diff x1 x2 y1 y2 xdiff ydiff obj)
  4. (setq obj (vlax-ename->vla-object (car (entsel "\nPick line pline or arc etc"))))
  5. (setq pt1 (getpoint "pick point"))
  6. (setq pt2 (vlax-curve-getclosestpointto obj pt1))
  7. (setq  ang (angle pt1 pt2))
  8. (setq diff (distance pt1 pt2))
  9. (setq x1 (car pt1) y1 (cadr pt1))
  10. (setq x2 (car pt2) y2 (cadr pt2))
  11. (setq xdiff (- x1 x2))
  12. (setq ydiff (- y1 y2))
  13. (alert (strcat "Length is " (rtos diff 2 2) "\nX difference is " (rtos xdiff 2 2) "\nY difference is " (rtos ydiff 2 2)))
  14. (if ( > diff 50)
  15. (progn
  16. (command  "dimaligned" pt2 pt1  pt1)
  17. (setq obj (vlax-ename->vla-object (entlast)))
  18. (vla-put-arrowhead1block obj "none")
  19. )
  20. (progn
  21. (setq pt2 (polar pt1 ang 65))
  22. (command  "dimaligned" pt2 pt1  pt1)
  23. (setq obj (vlax-ename->vla-object (entlast)))
  24. (vla-put-arrowhead1block obj "none")
  25. (vla-put-TextOverride obj (rtos diff 2 2 ))
  26. )
  27. )
  28. (princ)
  29. )
  30. (c:test)
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 15:56:55 | 显示全部楼层
 
起初,我认为相同的dimalign抑制一个箭头,但问题是箭头大小是否大于偏差。IMO可能OP需要选择2分
 
vlax curve xxx是个好主意:拇指支撑:,但不确定OP在2D或3D中考虑距离?
 
有点像旧线
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 15:59:57 | 显示全部楼层
正如我提到的,有两种情况,一种是非常小的距离,然后箭头需要是一个像径向答案一样的外部。我只是选了一个简单的版本,版本2有两个选项。我会做明天你知道问明天什么时候“明天”。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:11:46 | 显示全部楼层
嘿,那是明天!更新了适用于小距离的代码。
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 16:17:23 | 显示全部楼层
那是昨天
OP知道你的最新消息吗?
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:25:37 | 显示全部楼层
嘿,mat02,现在轮到你玩了!韩和我轮到我们了。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 13:06 , Processed in 1.841171 second(s), 75 queries .

© 2020-2025 乐筑天下

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