明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5757|回复: 27

[提问] 取直线上任意一点画垂线

[复制链接]
发表于 2015-10-13 15:59:06 | 显示全部楼层 |阅读模式
大家好,工作中经常会画直线上某个点的垂线,一般我是先把垂线画好,然后再移到那个点上,现求个程序,就是先点那个点(也就是垂足),然后直接画出垂线来,谢谢大家!表达不清楚,附个图



本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2015-10-14 11:48:35 | 显示全部楼层
  1. (defun c:tt(/ e p d)
  2.   (setq d(getreal"垂线长度[10.0]"))
  3.   (setq d(if d d 10.0))
  4.   (while(setq e(car(entsel"\n拾取基准线")))
  5.     (while(setq p(getpoint"\n垂足位置"))
  6.       (entmakex(list'(0 . "line")(cons 10(setq p(vlax-curve-getclosestpointto e p)))
  7.                 (cons 11(polar p(+(angle p(mapcar'+(vlax-curve-getfirstDeriv e(vlax-curve-getParamAtPoint e p))p))(* pi 0.5))d))))
  8.       ))
  9.   (princ))
回复 支持 1 反对 1

使用道具 举报

发表于 2022-6-16 17:53:29 | 显示全部楼层

这个好用,点赞收藏。谢谢大佬的代码
发表于 2023-7-7 14:19:45 | 显示全部楼层

院长的好用,既能画垂线也能画切线哦
发表于 2015-10-13 16:10:20 | 显示全部楼层
以该点为原点,以已有直线为X轴做坐标系,经过原点画Y轴方向直线
 楼主| 发表于 2015-10-13 16:23:24 | 显示全部楼层
Linhay 发表于 2015-10-13 16:10
以该点为原点,以已有直线为X轴做坐标系,经过原点画Y轴方向直线

嗯,是的,这种方法要转换一下UCS,想一步到位
发表于 2015-10-13 17:19:52 | 显示全部楼层
cj52000 发表于 2015-10-13 16:23
嗯,是的,这种方法要转换一下UCS,想一步到位

那等大神出手吧,看看大神是怎么算的
 楼主| 发表于 2015-10-13 18:59:35 | 显示全部楼层
请大家帮帮忙啊
发表于 2015-10-13 20:32:46 | 显示全部楼层
  1. ;; tt(垂直线)
  2. (defun c:tt (/ s1 e pt rad)
  3.   (defun AngleAtPoint (e pt / pa p1)
  4.     (setq pa (vlax-curve-getparamatpoint e pt)
  5.           p1 (vlax-curve-getfirstderiv e pa)
  6.     )
  7.     (angle pt (mapcar '+ pt p1))
  8.   )
  9.   (setvar "osmode" 0)
  10.   (setq        s1  (entsel "\n选择曲线点: ")
  11.         e   (car s1)
  12.         pt  (osnap (cadr s1) "near")
  13.         rad (AngleAtPoint e pt)
  14.   )
  15.   (setvar "snapang" rad)
  16.   (setvar "ORTHOMODE" 1)
  17.   (command "line" pt pause "")
  18.   (setvar "snapang" 0)
  19.   (princ)
  20. )
发表于 2015-10-14 08:55:29 | 显示全部楼层
选择一直线-》确定一点p-》原地复制该直线-》将复制后的直线绕P点旋转90度
发表于 2015-10-14 10:17:06 | 显示全部楼层
院长是我敬重人之一。如果是放出源码,一定可以学到东西。

点评

上面的不是源码?  发表于 2015-10-16 18:02
 楼主| 发表于 2015-10-14 10:32:16 | 显示全部楼层
xyp1964 发表于 2015-10-13 20:32

能得到版主的帮助,有点受宠若惊,非常感谢!!!但是我试用了一下出现如下提示,烦请帮忙看看


命令: (LOAD "C:/Users/Administrator/Desktop/任意点垂线.lsp") C:TT
命令: tt
选择曲线点: ; 错误: 函数错误: 959
命令:
发表于 2015-10-14 11:01:55 | 显示全部楼层
院长的程序要多学习,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 05:36 , Processed in 0.172785 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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