明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

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

随意角度自动比例修订云线

[复制链接]
 楼主| 发表于 2020-6-8 17:25 | 显示全部楼层
zgssd 发表于 2020-6-8 16:14
只是原捕捉设置都没有了

你这个在源码程序中自己修改一下就行
发表于 2020-6-8 21:56 | 显示全部楼层
看起来效果不错哦
发表于 2020-6-11 12:06 | 显示全部楼层
好程序,学习一下
发表于 2020-6-11 15:25 | 显示全部楼层
本帖最后由 nyistjz 于 2020-6-11 15:27 编辑

发现有个BUG,以任意角度画云线后,会影响到矩形命令的操作,导致绘制角度出错。
另外,常规情况下,大家用水平向布置的情况较多,是否可以默认为水平向,有选择后,才进行任意角度的绘制?
 楼主| 发表于 2020-6-11 18:32 | 显示全部楼层
nyistjz 发表于 2020-6-11 15:25
发现有个BUG,以任意角度画云线后,会影响到矩形命令的操作,导致绘制角度出错。
另外,常规情况下,大家 ...

非常感谢提出宝贵的意见
发表于 2020-8-19 18:32 | 显示全部楼层
谢谢分享好东西
发表于 2023-2-25 09:36 | 显示全部楼层
能加上引线+文字说明就好了
发表于 2023-10-26 21:34 | 显示全部楼层
用过了好用,
发表于 2023-11-29 09:51 | 显示全部楼层
修改了一下
(1)加了图层
(2)把其他改为  q
  1. ;;任意云线TY
  2. (defun c:TY(/ x0 y0 x1 y1)
  3.         (setvar "cmdecho" 0 )
  4. (setq oldlayer (getvar "clayer"));;加层
  5. (command-S "_layer" "n" "0-100-修改云线" "c" "6" "0-100-修改云线"  "N" "0-100-修改云线" "") ;;加层,如果"N"后加“P”则为不打印图层
  6. (setvar "clayer" "0-100-修改云线");;加层
  7.   (vl-load-com)
  8.        
  9.         ------------------------
  10.         ;设置水平方向默认值
  11.        
  12.         (setq fx (getstring "\n输入修订云线偏转方向(默认水平-y;其他旋转角度-q)<空格-y>:"))
  13.        
  14.         (if (= fx "")
  15.                 (setq fx "y")                       
  16.         )
  17.         (princ fx)
  18.         ----------------------
  19.        
  20.         (SetQ      
  21.                 p0 (GetPoint "\n 指定第一个修订角点:")                        
  22.         )
  23.        
  24.         ;显示方向,方便查看
  25.         (if (= fx "y")
  26.                 (Command "rectang" p0 "r"  0  pause )
  27.                 (progn
  28.                         (princ "\n指定角度方向")
  29.                         (command "line" p0 pause "")
  30.                         (setq xl (entlast))
  31.                         (setq xdata (entget xl))
  32.                         (setq pend (cdr (assoc 11 xdata)))
  33.                         (grdraw p0 pend 2)       
  34.                         (setq angl (bao-rtd (angle p0 pend)))
  35.                         (entdel xl);显示完成,删除
  36.                         (princ "\n点选云线框角点")
  37.                         (Command "rectang" p0 "r"  angl  pause )
  38.                 )
  39.         )
  40.         -------------------------------------------------       
  41.         ;设定比例弧长
  42.         (setq xx (entlast))
  43.         (setq edata (entget xx))
  44.        
  45.   (setq plst (bao_get_vertexs  xx)) ;获取矩形四个顶点坐标
  46.         (setq pp1 (car plst)
  47.                 pp2 (cadr plst)
  48.                 pp3 (caddr plst)
  49.                 pp4 (cadddr plst)               
  50.         )
  51.         (setq dis1 (distance pp1 pp2)
  52.                 dis2 (distance pp2 pp3)
  53.         )
  54.        
  55.         (if(<= dis1 dis2)
  56.                 (SetQ alenth (/ dis1 8))
  57.                 (SetQ alenth (/ dis2 8))               
  58.         )
  59.        
  60.         (Command "revcloud" "a" alenth alenth "s" "c" "o" "l" "")
  61.        
  62.         -------------------------
  63.         ;返回矩形默认水平作图方向
  64.         (Command "rectang" p0 "r"  0  pp3 )
  65.         (setq xx (entlast))
  66.         (entdel xx)
  67.         ------------------------------
  68.         (setvar "cmdecho" 1)
  69.         (princ)
  70. )
  71. ;;弧度转换为度
  72. (defun bao-rtd (ang) (/ (* ang 180.0) pi))
  73. ;;度转换为弧度
  74. (defun bao-dtr (ang) (* (/ ang 180.0) pi))

  75. ;;获取矩形顶点
  76. (defun bao_get_vertexs (en)
  77.         (mapcar 'cdr (vl-remove-if-not
  78.                                                                  '(lambda (x) (= (car x) 10))
  79.                                                                  (entget en)
  80.                                                          )       
  81.         )
  82. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 01:30 , Processed in 0.257507 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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