明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 487|回复: 7

[提问] 直线延长到边界?

[复制链接]
发表于 2024-1-10 14:05 | 显示全部楼层 |阅读模式
请教下,这种该怎么写?
自带的EX命令,能不能实现,是不是我不会用?


lisp的目前思路是:
1、内部对象先,延长1万米。
2、利用边界再给它裁剪掉。(裁剪完,判断内部,外部,或许是个问题)(或者也会干扰到其他图元)
。。。
感觉有点太无脑了。

有没有其他好办法呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2024-1-10 15:46 | 显示全部楼层
这是延伸的方法
  1. (setq sslst (vl-remove-if-not '(lambda (x) (= (type x) 'ENAME)) (mapcar 'cadr (ssnamex (ssget)))))
  2. (foreach ty sslst
  3.         (setq pt1 (vlax-curve-getStartPoint ty))
  4.         (setq pt2 (vlax-curve-getEndPoint ty))
  5.         (command "_extend" "" (list ty pt1) "")
  6.         (command "_extend" "" (list ty pt2) "")
  7. )

或者这样

  1. (setq ty0(car(entsel "\n选择外框:")))
  2. (setq sslst (vl-remove-if-not '(lambda (x) (= (type x) 'ENAME)) (mapcar 'cadr (ssnamex (ssget)))))
  3. (foreach ty sslst
  4.   (setq pt1 (vlax-curve-getStartPoint ty))
  5.   (setq pt2 (vlax-curve-getEndPoint ty))
  6.   (command "_extend" ty0 "" (list ty pt1) "")
  7.   (command "_extend" ty0 "" (list ty pt2) "")
  8. )


评分

参与人数 1明经币 +1 收起 理由
lxl217114 + 1

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2024-1-10 15:36 | 显示全部楼层
我觉得是在起点和端点处用延伸就可以 或者 求交点后entmod
回复 支持 1 反对 0

使用道具 举报

发表于 2024-1-10 14:39 | 显示全部楼层
本帖最后由 liuhe 于 2024-1-10 15:59 编辑

不要用trim,而是用求交点,再缩回去


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 1 反对 0

使用道具 举报

发表于 2024-1-10 16:33 | 显示全部楼层
两直线的点斜式联立方程求交点本身就是两个射线,曲线方程也可以和直线方程联立,但是样条曲线是多项式方程,这样太耗时了,所以曲线是先利用包围盒求交点减少运算量
发表于 2024-1-10 17:05 | 显示全部楼层
求最近延伸点




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2024-1-10 17:12 | 显示全部楼层
飞雪神光 发表于 2024-1-10 15:36
我觉得是在起点和端点处用延伸就可以 或者 求交点后entmod

一语惊醒梦中人,我想起来了,求交点可以求虚拟交点,只是我一直没用过,给忘了,哈哈,虚拟交点求出后,用entmake重新画就行了
 楼主| 发表于 2024-1-10 17:24 | 显示全部楼层
liuhe 发表于 2024-1-10 14:39
不要用trim,而是用求交点,再缩回去

感谢感谢,我明白了,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-6 11:30 , Processed in 0.181875 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表