明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1006|回复: 6

[【Gu_xl】] 求前辈帮忙指点一下这个小功能如何实现(grread函数没学透),万分感谢

[复制链接]
发表于 2023-1-24 00:24 | 显示全部楼层 |阅读模式
先通过拾取两角点绘制一个矩形,然后移动光标(注意不是鼠标左键单击,只是移动鼠标改变光标位置),根据十字光标所在位置(pt1)计算离pt1最近的矩形角点(jd1),将pt1和jd1连线

本帖子中包含更多资源

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

x
发表于 2023-1-24 18:33 | 显示全部楼层
  1. (defun c:tt ()
  2.   (defun PlPtn (s1)(mapcar 'cdr(vl-remove-if '(lambda (x) (/= (car x) 10)) (entget s1))))
  3.   (if (and (setq p0 (getpoint "\n基点<退出>: "))
  4.            (setq p1 (getcorner p0 "\n对角点<退出>: "))
  5.       )
  6.     (progn
  7.       (setvar "osmode" 0)
  8.       (command "Rectang" p0 p1)
  9.       (setq s1 (entlast)
  10.             ptn (PlPtn s1)
  11.             mode t
  12.       )
  13.       (while mode
  14.         (setq gd15 (grread t 15 0)
  15.               cd (car gd15)
  16.         )
  17.         (cond ((or (= cd 2) (= cd 3) (= cd 25)) (setq mode nil))
  18.               ((= cd 5)
  19.                (redraw)
  20.                (setq pt (cadr gd15)
  21.                      ptn (vl-sort ptn '(lambda (x y) (< (distance pt x) (distance pt y))))
  22.                      p1 (car ptn)
  23.                )
  24.                (Grvecs (list 1 pt p1))
  25.               )
  26.         )
  27.       )
  28.       (redraw)
  29.       (command "Line" pt p1 "")
  30.     )
  31.   )
  32.   (princ)
  33. )

回复 支持 1 反对 0

使用道具 举报

发表于 2023-1-24 18:35 | 显示全部楼层
本帖最后由 xyp1964 于 2023-1-25 09:44 编辑




本帖子中包含更多资源

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

x
 楼主| 发表于 2023-1-24 22:56 | 显示全部楼层
发表于 2023-1-27 14:56 来自手机 | 显示全部楼层
盲猜动态云线
发表于 2023-2-21 15:09 | 显示全部楼层
可以哦,最近点这个有用
发表于 2023-9-20 09:14 | 显示全部楼层
感谢xyp1964分享插件,向你学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-27 06:54 , Processed in 0.368509 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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