明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4283|回复: 12

求框选2点自动连线

  [复制链接]
发表于 2012-10-28 00:30:54 | 显示全部楼层 |阅读模式
在坛里找了一下,没有这个功能的,框选2个点后自动连线,
在这里借用一下论坛里找到的代码,但要点起点和终点中,能不能改成直接框选2点就连线了,谢谢!
(defun c:ttt ()
   (setvar "osmode" 0)
   ;(princ "\请指定起始点:")
   (setq en1 (entsel))
   (setq pt1 (osnap (cadr en1) "nea"))
   (princ "\请指定终点:")
   (setq en2 (entsel))
   (setq pt2 (osnap (cadr en2) "nea"))
   (command "line" pt1 pt2 "")
)
如下图:

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2012-10-28 09:49:51 | 显示全部楼层
(defun c:tt( / en1 ent i pt ss ssn v)
;;;     (setvar "osmode" 0)
;;;     (command "ucs" "w")
  
  (setq ss (ssget '((0 . "point"))))
  (setq i 0)
  (repeat (sslength ss)
    (setq ssn (ssname ss i))
    (setq ent (entget ssn))  
    (setq en1 (apply '(lambda (v) (setq en1 (cons v en1)))
                        (progn (setq pt (cdr (assoc 10 ent)))
                               (list pt)
                          )))
    (setq i (1+ i))
   
    )
    (command "line")
  (while (car en1)
  (command (car en1))
  (setq en1 (cdr en1)))
  (command "")
      
    )

点评

在关捕捉,不然跑位了  发表于 2012-10-28 18:48

评分

参与人数 1明经币 +1 收起 理由
kwok + 1 很给力!

查看全部评分

发表于 2012-10-28 09:50:39 | 显示全部楼层
本帖最后由 Andyhon 于 2012-10-28 09:51 编辑

;;; 直接框选2点就连线...
;;; no error check

(defun c:ttt ()
   (princ "\n请直接框选2点:")
   (setq ss (ssget '((0 . "POINT")))
         p1 (cdr (assoc 10 (entget (ssname ss 0))))
         p2 (cdr (assoc 10 (entget (ssname ss 1))))
   )
   (entmake (list '(0 . "LINE") (cons 10 p1) (cons 11 p2)))
)

点评

简洁,精品!  发表于 2012-10-28 11:47

评分

参与人数 1明经币 +1 收起 理由
kwok + 1 很给力!

查看全部评分

发表于 2012-10-28 09:57:30 | 显示全部楼层
  1. ;; 点集两点连线
  2. ;; 伪源码需要e派工具箱(XCAD)的支持
  3. (defun c:tt ()
  4.   (princ "\n框选点: ")
  5.   (setq        ss (ssget '((0 . "POINT")))
  6.         i  -1
  7.   )
  8.   (while (and (setq s1 (ssname ss (setq i (1+ i))))
  9.               (setq s2 (ssname ss (setq i (1+ i))))
  10.          )
  11.     (xyp-line (xyp-dxf 10 s1) (xyp-dxf 10 s2))
  12.   )
  13.   (princ)
  14. )
发表于 2012-10-29 01:06:53 | 显示全部楼层
学习!
各位的巧妙!
感恩!
发表于 2012-10-29 11:21:09 | 显示全部楼层
为什么只能是框选两点而不是很多的点呢?
 楼主| 发表于 2012-10-29 12:49:18 | 显示全部楼层
戏男 发表于 2012-10-29 11:21
为什么只能是框选两点而不是很多的点呢?

框选多点不好判断顺序吧...
发表于 2012-10-29 13:11:36 | 显示全部楼层
经两个最近的点连一起啊 可行不
发表于 2012-10-30 12:21:42 | 显示全部楼层
怎么实现两条直线,框选到的两个端点连线

点评

且向 ssnamex 函數下功夫  发表于 2012-10-30 13:49
 楼主| 发表于 2012-10-30 15:30:57 | 显示全部楼层
52幕墙设计 发表于 2012-10-30 12:21
怎么实现两条直线,框选到的两个端点连线

这个功能论坛里有相关lsp,搜一下.
可参考:http://bbs.mjtd.com/forum.php?mod=viewthread&tid=96479
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-21 18:07 , Processed in 0.191793 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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