乐筑天下

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

[编程交流] 点到线线性距离

[复制链接]

1

主题

1

帖子

0

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 19:44:53 | 显示全部楼层 |阅读模式
对于矩形,有沿边界散射的点(输入/输出)
层(1)边界
层(2)点
 
 
[见附件1]
第1步:
a/创建新层(Lyr名称:到边界的距离)
编码,然后询问用户有关点图层名称,然后对点图层中的点进行编号。
在该层中绘制向内/向外(边界外)的箭头。
d测量每个点和边界线之间的距离。
创建文本,显示每个点的距离。
创建布局视图(名称:到边界的距离)。
[见附件2]
 
 
第2步:
a/创建一个新层(Lyr名称:平行距离)。
b/计算从点到边界外500偏移的距离。
为边框外显示的每个值创建文本框。
创建布局视图(名称:平行距离)。
 
[见附件3]
 
 
 
 
 
 
 
第3步:
a/创建新层(Lyr名称:calculation)
b/使用在if语句的前面步骤中计算的每个点的距离值来计算值,例如(如果到边界的距离为150,则显示值-150)。
创建新布局视图(名称:计算)。
 
 
[见附件4]
 
 
 
 
第4步:
a/Excel导出包含以下字段的表格:
点编号、到边界的距离、输入/输出、到平行线的距离、计算。
显示消息框,说它成功了。
祝你一切顺利!
204454sqqcrvqpqo6rvprp.jpg
204455x12o3e7qyzq4y2gm.jpg
204457s4j54o5vand44v49.jpg
204458dbubbb2js00ssljs.jpg
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 20:31:56 | 显示全部楼层
这实际上是相当容易做到的,有一个VL命令closestpoint,它可以计算出一个新的点,这是您想要的距离,同样,所有的文本标签也很容易,除了考虑象限以获得正确的左上右下等。
 
不要准备任何东西。还有其他一些琐事。首先,导出到excel的最简单方法是编写一个csv文件并打开它。其他人的回答可能比我快。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 20:56:44 | 显示全部楼层
这是一个开始
 
  1. ; by BIGAL June 2015
  2. (defun c:aaa ( / sspts len x pt closestpt)
  3. (Princ "\nSelect all the points")
  4. (setq sspts (ssget (list (cons 0 "Point"))))
  5. (setq len (sslength sspts))
  6. (setq obj (car (entsel "\nSelect object: ")))
  7. (setq x len)
  8. (repeat len
  9. (setq pt (cdr (assoc 10 (entget (ssname sspts (setq x (- x 1)) )))))
  10. (setq closestpt (vlax-curve-getclosestpointto obj pt))
  11. (setq dist (distance closestpt pt))
  12. (command "TEXT" pt "" "" (rtos dist 2 3))
  13. )
  14. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 01:06 , Processed in 0.778915 second(s), 61 queries .

© 2020-2025 乐筑天下

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