以梦为马,不负韶华

搜索
查看: 890|回复: 3
收起左侧

今日吸收CAD梦想画图---云线

[复制链接]
发表于 2021-7-1 16:29:27 显示全部楼层 |阅读模式
本帖最后由 lihao2014 于 2021-7-2 16:58 编辑

在线CAD中云线是由连续圆弧组成的多段线。
执行方式
(1)单击菜单栏“绘图→云线”。如图:

                               
登录/注册后可看大图
(2)单击菜单栏“功能→批注→云线”。如图:

                               
登录/注册后可看大图
(3)在左下角命令行中输入“_Revcloud”按enter键。如图:

                               
登录/注册后可看大图
操作步骤
执行命令之后,命令行会显示以下信息:

                               
登录/注册后可看大图
选项说明
(1)第一点:指定云线的起点。
(2)当要完成这条云线的绘制时,单击以下鼠标左键。
如图所示为绘制云线的图形。

                               
登录/注册后可看大图

[发帖际遇]: 一个袋子砸在了 lihao2014 头上,lihao2014 赚了 3 个 韶华币. 幸运榜 / 衰神榜
发表于 2021-7-1 16:29:27 显示全部楼层
这个云线有啥作用呢

点评

审图、校图、着重批注都可以把图形部分圈出来  详情 回复 发表于 2021-7-2 08:37
[发帖际遇]: juty88 屌丝逆袭成功,获得白富美女神垂青,赚了 4 个 韶华币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

发表于 2021-7-1 16:29:27 显示全部楼层
juty88 发表于 2021-7-1 20:38
这个云线有啥作用呢

审图、校图、着重批注都可以把图形部分圈出来
回复 支持 反对

使用道具 举报

发表于 2021-7-1 16:29:27 显示全部楼层
本帖最后由 xxkz 于 2021-7-2 15:06 编辑

======================

;;find_peak_point_left 找出选择框的左上角点
(defun find_peak_point_left (aa0 bb0 / calu_pos_ori_x calu_pos_ori_y)
  (if (> (car aa0) (car bb0))
    (setq calu_pos_ori_x (car bb0))
    (setq calu_pos_ori_x (car aa0))
  )
  (if (> (cadr aa0) (cadr bb0))
    (setq calu_pos_ori_y (cadr aa0))
    (setq calu_pos_ori_y (cadr bb0))
  )
  (setq calu_pos_ori (list calu_pos_ori_x calu_pos_ori_y 0))     
)
;;find_peak_point_right 找出选择框的右下角点
(defun find_peak_point_right (aa0 bb0 / calu_pos_ori_x calu_pos_ori_y)
  (if (< (car aa0) (car bb0))
    (setq calu_pos_ori_x (car bb0))
    (setq calu_pos_ori_x (car aa0))
  )
  (if (< (cadr aa0) (cadr bb0))
    (setq calu_pos_ori_y (cadr aa0))
    (setq calu_pos_ori_y (cadr bb0))
  )
  (setq calu_pos_ori (list calu_pos_ori_x calu_pos_ori_y 0))     
)
(defun c:kk ()
  (setq oldos (getvar "osmode"))
  (setq aa_point (getpoint "\n点取云线起点:"))
  (setq bb_point (getcorner aa_point "\n点取云线终点:"))
  (setq s_point (find_peak_point_left aa_point bb_point));左上角点
  (setq e_point (find_peak_point_right aa_point bb_point));右下角点
  (setq AllXyList nil)
  (setvar "cmdecho" 0)
  (setq dengfen 5)   ;等分20份
  (if (<= (abs (- (car e_point) (car s_point)))
   (abs (- (cadr e_point) (cadr s_point)))
      )
    (setq steplen (/ (abs (- (car e_point) (car s_point))) dengfen))
    (setq steplen (/ (abs (- (cadr e_point) (cadr s_point))) dengfen))
  )     ;if 步长
  ;;下面计算应该生成的圆弧个数,实际上短边方向是已知的,不过再判断一次比较方便
  (setq x_num (fix (/ (abs (- (car e_point) (car s_point))) steplen)))
     ;x方向数量
  (setq y_num (fix (/ (abs (- (cadr e_point) (cadr s_point))) steplen)))
     ;y方向数量
  (setq s_xunhuan s_point
e_xunhuan e_point
  )
  ;;下面计算所有的点坐标,并存入一个表中供调用
  (repeat x_num
    (setq next_point
    (list (+ (car s_xunhuan) steplen)
   (cadr s_xunhuan)
   (caddr s_xunhuan)
    )
    )     ;计算下一个点
    (setq AllXyList (cons s_xunhuan AllXyList)) ;收集坐标点
    (setq s_xunhuan next_point)
  )     ;计算x方向坐标,方向从左向右
  (repeat y_num
    (setq next_point
    (list (car s_xunhuan)
   (- (cadr s_xunhuan) steplen)
   (caddr s_xunhuan)
    )
    )     ;计算下一个点
    (setq AllXyList (cons s_xunhuan AllXyList)) ;收集坐标点
    (setq s_xunhuan next_point)
  )     ;计算y方向坐标,方向从上到下
  (repeat x_num
    (setq next_point
    (list (- (car s_xunhuan) steplen)
   (cadr s_xunhuan)
   (caddr s_xunhuan)
    )
    )     ;计算下一个点
    (setq AllXyList (cons s_xunhuan AllXyList)) ;收集坐标点
    (setq s_xunhuan next_point)
  )     ;计算x方向坐标,方向从右向左
  (repeat y_num
    (setq next_point
    (list (car s_xunhuan)
   (+ (cadr s_xunhuan) steplen)
   (caddr s_xunhuan)
    )
    )     ;计算下一个点
    (setq AllXyList (cons s_xunhuan AllXyList)) ;收集坐标点
    (setq s_xunhuan next_point)
  )     ;计算y方向坐标,方向从下到上
  (setq AllXyList (reverse (cons s_point AllXyList)))
     ;把起点的坐标加进去,构成闭合图形
  (setvar "osmode" 0)
  (command ".pline")
  (setq FriFlags 0)
  (foreach x AllXyList
    (command x)    ;这个command是关键
    (command "w" 0 1 "a")
    (if (= FriFlags 0)
      (progn
(command "a" -120)
(setq FriFlags 1)
      )
      (progn
(command -120)
(setq FriFlags (1+ FriFlags))
      )
    )
  )     ;foreach   
  (command (car AllXyList) "");如此才能结束pline
   (setvar "osmode" oldos)
)
================上下等号不要复制,将文件复制到文本文档内,另存为*.lsp文件,在CAD里面加载,就可以绘制云线了,命令“KK”
[发帖际遇]: xxkz 乐于助人,帮助不愿意过马路的老奶奶过马路,奖励 8 个 韶华币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

不想打字就选择快捷回复吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|以梦为马,不负韶华

GMT+8, 2025-4-6 09:49

Powered by 以梦为马,不负韶华

© 2024-2099 Meng.Horse

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