明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1931|回复: 13

[讨论] 画垂线

[复制链接]
发表于 2023-5-12 16:12:25 | 显示全部楼层 |阅读模式
我写了一个画垂线的小程序, 最后生成的直线(command "_.line" "non" p1 "non" p2 "")
但老是出错。
改为entmake 才解决了。不知大家 遇到过没有?

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2023-5-14 17:15:52 | 显示全部楼层
Noangler 发表于 2023-5-13 08:51
谢谢分享,这个做辅助线可以,不用再在线外画一点然后用捕捉垂点生成线再移到想要的位置了

  • ;;绘制垂线(任意曲线之垂线)--------
  • (defun c:aypercurve1 (/ ee nam p snap)
  •   (setq snap (getvar "osmode"))
  •   (setvar "osmode" 16383)    ;打开捕捉
  •   (while (not (and (setq ee (entsel "\n 选择曲线:")))))
  •   (setq nam (car ee))
  •   (while (setq p (getpoint "\n 请点击曲线点位:"))
  •     (aypercurve nam p)
  •   )
  •   (setvar "osmode" snap)
  • )
  • ;;当前视口取比例值-----(一级)-----
  • (defun p2uu (pix)
  •   (* pix (/ (getvar "viewsize") (cadr (getvar "screensize"))))
  • )
  • ;;曲线垂线 nam曲线实体名 p曲线上点---(一级)------
  • (defun aypercurve (nam p / dd ang p1 p2)
  •   (setq p (vlax-curve-getClosestPointTo nam p nil))
  •   (setq dd (p2uu 88.0))
  •   (setq ang (angle '(0.0 0.0 0.0) (vlax-curve-getFirstDeriv nam (vlax-curve-getparamatpoint nam p)))) ;切线
  •   (setq p1 (polar p (+ ang pi2) dd))
  •   (setq p2 (polar p (- ang pi2) dd))
  •   ;;(fy_lineformat (makeline p1 p2) (slmsg "中心线" "いみ絬" "Centerline") "CENTER" 0.4 6)
  •   (makeline p1 p2) ;换成你的画线函数即可
  • )

发表于 2023-5-12 18:48:28 | 显示全部楼层
本帖最后由 尘缘一生 于 2023-5-12 18:50 编辑

垂线画图也是多需要,对建筑来说,多用于辅助线,三领设计也作了个。




  • ;;绘制垂线(任意曲线之垂线)--------
  • (defun c:aypercurve1 (/ ee nam p snap)
  •   (setq snap (getvar "osmode"))
  •   (setvar "osmode" 16383)    ;打开捕捉
  •   (while (not (and (setq ee (entsel (slmsg "\n 选择曲线:" "\n 匡拒Ρ絬:" "\n Select curve:"))))))
  •   (setq nam (car ee))
  •   (while (setq p (getpoint (slmsg "\n 请点击曲线点位:" "\n 叫翴阑Ρ絬翴:" "\n Please click the curve point:")))
  •     (aypercurve nam p)
  •   )
  •   (setvar "osmode" snap)
  • )
  • ;;曲线垂线 nam曲线实体名 p曲线上点---(一级)------
  • (defun aypercurve (nam p / dd ang p1 p2)
  •   (setq p (vlax-curve-getClosestPointTo nam p nil))
  •   (setq dd (p2uu 88.0))
  •   (setq ang (angle '(0.0 0.0 0.0) (vlax-curve-getFirstDeriv nam (vlax-curve-getparamatpoint nam p)))) ;切线
  •   (setq p1 (polar p (+ ang pi2) dd))
  •   (setq p2 (polar p (- ang pi2) dd))
  •   (fy_lineformat (makeline p1 p2) (slmsg "中心线" "いみ絬" "Centerline") "CENTER" 0.4 6)
  • )

本帖子中包含更多资源

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

x
发表于 2023-5-13 08:51:40 | 显示全部楼层
尘缘一生 发表于 2023-5-12 18:48
垂线画图也是多需要,对建筑来说,多用于辅助线,三领设计也作了个。

谢谢分享,这个做辅助线可以,不用再在线外画一点然后用捕捉垂点生成线再移到想要的位置了
发表于 2023-5-13 09:26:10 | 显示全部楼层
尘缘一生 发表于 2023-5-12 18:48
垂线画图也是多需要,对建筑来说,多用于辅助线,三领设计也作了个。

no function definition: SLMSG
发表于 2023-5-13 22:07:05 | 显示全部楼层
osmode在运行前修改下试试?
发表于 2023-5-14 21:31:50 | 显示全部楼层
值得学习,谢谢分享
发表于 2023-5-15 23:10:23 | 显示全部楼层

RE: 画垂线 [修改]

你说的这种情况就太没道理了,没碰到过
 楼主| 发表于 2023-5-16 07:56:24 | 显示全部楼层
llsheng_73 发表于 2023-5-15 23:10
你说的这种情况就太没道理了,没碰到过

夜路走得少
发表于 2023-5-16 14:02:16 | 显示全部楼层
上dwg文件、贴码诊断……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 18:51 , Processed in 0.191322 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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