明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: qinhengda

[提问] 鼠标任意点击两点绘制水平中点的构造线xline

[复制链接]
 楼主| 发表于 2024-10-9 10:10:28 | 显示全部楼层

谢谢大佬,离我预期的接近了,但是我想要的是鼠标输入两点之后绘制中点的构造线,不是点击实体。
发表于 2024-10-9 10:49:29 | 显示全部楼层
  1. (defun c:11()
  2. (vl-load-com)
  3. (if
  4.   (and
  5.     (setq _pt1(getpoint "\n第一点"))
  6.     (setq _pt2(getpoint _pt1 "\n第二点"))
  7.   )
  8.   (progn
  9.     (setq _mspace (vla-get-modelspace  (vla-get-activedocument(vlax-get-acad-object))))
  10.     (setq _pt3 (list (car _pt2) (cadr _pt1)))   
  11.     (setq _pt4 (list (* 0.5 (+ (car _pt1)(car _pt2))) (cadr _pt1)))   
  12.     (vla-addline _mspace (vlax-3d-point _pt1) (vlax-3d-point _pt3))
  13.     (vla-addline _mspace (vlax-3d-point _pt3) (vlax-3d-point _pt2))
  14.     (setq _pt5 (polar _pt4 (* 0.5 pi) 10))   
  15.     (setq _myxline (vla-addXline _mspace (vlax-3d-point _pt5)(vlax-3d-point _pt4)))
  16.   )
  17. )
  18. (princ)     
  19. )
 楼主| 发表于 2024-10-9 11:52:00 | 显示全部楼层

哇大佬,这个可以的了,但,那个辅助的线可以删除吗,即点完两个点,仅保留构造线
发表于 2024-10-9 11:54:26 | 显示全部楼层
(vla-addline _mspace (vlax-3d-point _pt1) (vlax-3d-point _pt3))
    (vla-addline _mspace (vlax-3d-point _pt3) (vlax-3d-point _pt2))
这两句删掉就可以了啊.
发表于 2024-10-9 13:52:20 | 显示全部楼层
  1. (defun c:tt ()
  2.   (while (and (setq p1 (getpoint "\n第1点<退出>: "))
  3.               (setq p2 (getpoint p1 "\n第2点<退出>: "))
  4.          )
  5.     (setq p3 (list (car p2) (cadr p1))
  6.           pt (mapcar '(lambda (x y) (* (+ x y) 0.5)) p1 p3)
  7.     )
  8.     (command "Xline" "v" "non" pt "")
  9.   )
  10.   (princ)
  11. )

回复 支持 2 反对 0

使用道具 举报

发表于 2024-10-12 10:17:07 | 显示全部楼层
这个厉害了啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 06:46 , Processed in 0.151609 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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