明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4608|回复: 29

求助个思路,就是直线没相交就延伸到那个位置,如果相交就剪切掉

  [复制链接]
发表于 2012-3-19 18:20 | 显示全部楼层 |阅读模式

求助个思路
如图

要变成


就是延伸和剪切同时进行


该贴已经同步到 daiguafan的微博

本帖子中包含更多资源

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

x
发表于 2017-11-15 22:38 | 显示全部楼层
我想找一个 标准的用 剪切和延伸的命令,怎么都没有找到,因为两个线可能不共面,替换变量没有什么意义
发表于 2017-12-4 20:11 | 显示全部楼层
学习下22 23 26的
 楼主| 发表于 2012-3-19 18:23 | 显示全部楼层
哪位大侠给个思路啊
发表于 2012-3-19 20:41 | 显示全部楼层
做两次循环,第一次剪切掉超出的.第二次延伸内部的.
 楼主| 发表于 2012-3-19 20:42 | 显示全部楼层
VBALISPER 发表于 2012-3-19 20:41
做两次循环,第一次剪切掉超出的.第二次延伸内部的.

这个我想过,如何判断的问题啊,如何判断是该延伸还是该剪切啊
发表于 2012-3-19 21:12 | 显示全部楼层
不判断,第一次把所有的线剪切,出错忽略.第二次把所有的线延伸.出错忽略
发表于 2012-3-19 21:46 | 显示全部楼层
根据楼上思路写的程序。只是对线条一半在内一半在外的处理有时有误。如果第一点画在外面就有正确结果
(defun c:tt ()
(setvar "CMDECHO" 0)
(if (setq ss (ssget '((0 . "LINE")))) (progn
  (setq i 0)
  (repeat (sslength ss)
   (setq en (ssname ss i)
         ent (entget en)
         pt1 (cdr(assoc 10 ent))
         pt2 (cdr(assoc 11 ent)))
   (command ".TRIM" "" (list en pt1) (list en pt2) "")
   (setq ent (entget en)
         pt1 (cdr(assoc 10 ent))
         pt2 (cdr(assoc 11 ent)))
   (command ".EXTEND" "" (list en pt1) (list en pt2) "")
   (setq i (1+ i))
  )
))
(setvar "CMDECHO" 1)
(princ)
)
发表于 2012-3-19 21:52 | 显示全部楼层
封闭框单独放在一个图层上是不是问题就简单些了呢!
 楼主| 发表于 2012-3-19 21:57 | 显示全部楼层
lidaxiu 发表于 2012-3-19 21:52
封闭框单独放在一个图层上是不是问题就简单些了呢!

可以单独放置一个图层
 楼主| 发表于 2012-3-19 22:00 | 显示全部楼层
ZZXXQQ 发表于 2012-3-19 21:46
根据楼上思路写的程序。只是对线条一半在内一半在外的处理有时有误。如果第一点画在外面就有正确结果
(def ...

已经非常感谢了,不错,不过,确实,会出错。
 楼主| 发表于 2012-3-19 22:07 | 显示全部楼层
ZZXXQQ 发表于 2012-3-19 21:46
根据楼上思路写的程序。只是对线条一半在内一半在外的处理有时有误。如果第一点画在外面就有正确结果
(def ...

没有考虑到一端剪切一端延伸的情况,所以还是要判断?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-3 02:44 , Processed in 0.146880 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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