乐筑天下

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

[编程交流] 选择多段线的一条线

[复制链接]

78

主题

207

帖子

129

银币

后起之秀

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

铜币
395
发表于 2022-7-6 09:11:39 | 显示全部楼层 |阅读模式
我想创建一个lisp来绘制剪力墙线。我在考虑从多段线的一条线创建一条基于xy点的线。
 
我的问题是我不知道如何从特定线路获取infro。当我选择一条多段线并使用getent时,我看到了所有的点,但我不知道哪个是哪个。他们的ASSOC号码都是10。如何获取我的提货箱所在行的信息?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:07:37 | 显示全部楼层
最简单的方法是使用vlax曲线函数,下面是一个详细的示例:
 
  1. (defun c:test ( / select entity point param )
  2. (if
  3.    (and
  4.      (setq select (entsel))
  5.      (eq "LWPOLYLINE" (cdr (assoc 0 (entget (setq entity (car select))))))
  6.    )
  7.    (progn
  8.      (setq point  (vlax-curve-getclosestpointto entity (cadr select))
  9.            param  (vlax-curve-getparamatpoint entity point)
  10.            param  (fix param)
  11.      )
  12.      (list
  13.        (vlax-curve-getpointatparam entity param)
  14.        (vlax-curve-getpointatparam entity (1+ param))
  15.      )
  16.    )
  17. )
  18. )
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 10:15:18 | 显示全部楼层
看看以vlax曲线开始的函数-。。。。。。。。这比与assoc 10实体打交道更容易收集所需信息
在许多情况下,协调多段线上的点。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 04:56 , Processed in 0.366301 second(s), 58 queries .

© 2020-2025 乐筑天下

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