明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

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

画双线求修改

[复制链接]
发表于 2021-12-24 23:20:53 | 显示全部楼层
用来画截面挺方便的,谢谢分享
回复

使用道具 举报

发表于 2022-1-1 17:59:34 | 显示全部楼层
挺好 感谢分享
回复

使用道具 举报

发表于 2025-3-6 00:07:24 | 显示全部楼层
可以画曲线吗?
回复

使用道具 举报

发表于 2025-3-7 15:49:21 | 显示全部楼层
本帖最后由 183017064 于 2025-3-7 15:53 编辑
  1. (defun pt ()
  2.   (setq p1 nil
  3.     p2 nil)
  4.   (while (or (null p1) (null p2))
  5.     (if (null p1)
  6.       (progn
  7.         (setq p1 (getpoint (strcat"\n<空格>重新开始OR<Esc>退出OR请点击第一个点:当前管外径是:"(rtos (* offset_distance 2)2 2 ))))
  8.         (if (null p1)
  9.           (progn
  10.             (princ "\n重新输入管外径。")
  11.             (C:djg)
  12.           )
  13.         )
  14.       )
  15.     )
  16.     (if (null p2)
  17.       (setq p2 (getpoint p1"\n请点击第二个点:"))
  18.     )
  19.   )
  20.   (line p1 p2)
  21. )



  22. (defun line (p1 p2)
  23.   
  24.   
  25.   (setq original_line (entmakex (list (cons 0 "LINE") (cons 10 p1) (cons 11 p2))))
  26.   ; 计算直线的方向向量
  27.   (setq dx (- (car p2) (car p1)))
  28.   (setq dy (- (cadr p2) (cadr p1)))
  29.   ; 计算垂直方向向量(通过交换坐标并改变其中一个的符号)
  30.   (setq perp_dx (- dy))
  31.   (setq perp_dy dx)
  32.   ; 计算垂直方向的单位向量
  33.   (setq xiangliang (sqrt (+ (* perp_dx perp_dx) (* perp_dy perp_dy))))
  34.   (setq unit_perp_dx (/ perp_dx xiangliang))
  35.   (setq unit_perp_dy (/ perp_dy xiangliang))
  36.   ; 计算偏移后的端点坐标
  37.   (setq new_p1 (list (+ (car p1) (* offset_distance unit_perp_dx))
  38.                  (+ (cadr p1) (* offset_distance unit_perp_dy))))
  39.   (setq new_p2 (list (+ (car p2) (* offset_distance unit_perp_dx))
  40.                  (+ (cadr p2) (* offset_distance unit_perp_dy))))
  41.   (setq new_line1 (entmakex (list (cons 0 "LINE") (cons 10 new_p1) (cons 11 new_p2))))
  42.   (setq new_p3 (list (- (car p1) (* offset_distance unit_perp_dx))
  43.                  (- (cadr p1) (* offset_distance unit_perp_dy))))
  44.   (setq new_p4 (list (- (car p2) (* offset_distance unit_perp_dx))
  45.                  (- (cadr p2) (* offset_distance unit_perp_dy))))
  46.   (setq new_line2 (entmakex (list (cons 0 "LINE") (cons 10 new_p3) (cons 11 new_p4))))
  47.   ; 删除初始直线
  48.   (command "erase" original_line "")
  49.   
  50.   (pt)
  51. )

  52. (defun C:djg()
  53.   
  54.   (setq offset_distance (getreal "\n请输入管外经: "))
  55.   (setq offset_distance (/ offset_distance 2 ))
  56.   
  57.   (pt)
  58. )

回复

使用道具 举报

发表于 2025-3-9 19:08:09 | 显示全部楼层
很抱歉,为了大家更简单的绘图,说个有点打击的话,无需插件,使用系统自带命令可以实现上图命令:
首先,使用菜单-格式-多线样式,设置共三根线,中心线为红色中心线  距离为0, 上部距离为-0.5,下部为0.5.
其次,使用多线命令mline,可以点点随意画图了。所谓宽度就是特性里更改比例的数值,可以随时更改,自动变宽。
特点:用起来更简单,且另外使用自带的可以多线编辑命令,实现接口的自动处理,遗憾的是特性里没有长度属性,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-4-12 09:16 , Processed in 0.130460 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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