明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1683|回复: 7

[源码] 渐进式同心圆

[复制链接]
发表于 2013-12-13 21:37 | 显示全部楼层 |阅读模式
本帖最后由 荒野孤行 于 2013-12-28 22:20 编辑

图片效果如下:
源码见附件。

本帖子中包含更多资源

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

x

评分

参与人数 1明经币 +1 收起 理由
琴剑江山_10184 + 1 很给力!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-12-13 22:42 | 显示全部楼层
来个图片演示啊,朋友!嘿嘿,这回怎么这么含蓄
 楼主| 发表于 2013-12-13 23:18 来自手机 | 显示全部楼层
tianyi1230 发表于 2013-12-13 22:42
来个图片演示啊,朋友!嘿嘿,这回怎么这么含蓄

没币了,赚点钱下载别人的源码,哈。

评分

参与人数 1明经币 +1 收起 理由
1993063 + 1 神马都是浮云

查看全部评分

发表于 2013-12-14 10:24 | 显示全部楼层
荒野孤行 发表于 2013-12-13 05:18
没币了,赚点钱下载别人的源码,哈。

这类型的早有了吧
 楼主| 发表于 2014-1-29 14:17 | 显示全部楼层
tianyi1230 发表于 2013-12-13 22:42
来个图片演示啊,朋友!嘿嘿,这回怎么这么含蓄

已传图片演示。
发表于 2014-1-30 10:20 | 显示全部楼层
  1. ;; 圆动态渐变偏移变色
  2. ;;需要e派工具箱(XCAD)的支持:[url]http://yunpan.cn/QXQKsW9gAPmpF[/url](defun c:test1498 (/ s0 p0 rr mode mo co r0 i p1 dd s00 n ss)
  3.   (xyp-CMDLA0)
  4.   (setq d0   (Udist 1 "" "渐进距离<输入或鼠标直接量取>" d0 nil)
  5.         s0   (car (entsel "\n选择圆: "))
  6.         p0   (xyp-DXF 10 s0)
  7.         rr   (xyp-DXF 40 s0)
  8.         mode t
  9.   )
  10.   (while mode
  11.     (setq mo (grread t 15 0)
  12.           co (car mo)
  13.           r0 0
  14.     )
  15.     (redraw)
  16.     (cond ((member co '(5))
  17.            (if (and ss (> (sslength ss) 0))
  18.              (xyp-erase ss)
  19.            )
  20.            (setq i   1
  21.                  p1  (cadr mo)
  22.                  dd  (distance p1 p0)
  23.                  s00 (entlast)
  24.            )
  25.            (xyp-Grvecs-Ptlst (list p0 p1) 1)
  26.            (while (< (+ r0 rr) dd)
  27.              (setq n  (* (/ (+ 1 i) 2.) i)
  28.                    r0 (* n d0)
  29.                    i  (1+ i)
  30.              )
  31.              (xyp-Offset s0 r0 t nil nil)
  32.              (xyp-SubUpd (entlast) 62 (rem i 255))
  33.            )
  34.            (setq ss (xyp-SSelEntnext s00)
  35.            )
  36.           )
  37.           (t (setq mode nil))
  38.     )
  39.   )
  40.   (xyp-CMDLA1)
  41. )

本帖子中包含更多资源

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

x
发表于 2015-1-8 08:10 | 显示全部楼层
相当给力的程序啊
 楼主| 发表于 2015-1-9 18:54 | 显示全部楼层
琴剑江山_10184 发表于 2015-1-8 08:10
相当给力的程序啊

(defun c:t1 ()
  (setvar "osmode" 15359)
  (setvar "cmdecho" 0)
  (princ "\n★功能:查找同心圆.")
  (command "undo" "be")
  (vl-load-com)
  (while
    (progn
      (setq ent1 (entsel "\n请选择参照圆:\n"))
      (not
        (if (= ent1 nil)
          nil
          (wcmatch (cdr (assoc 0 (entget (car ent1))))
                   "CIRCLE"
          )                                ;限定只能选取圆
        )
      )
    )
  )
  (setq entnam1 (car ent1))
  (setq circlecoord1 (cdr (assoc 10 (entget entnam1))))
  (initget 4)
  (if (not (setq wcz (getreal "请输入误差值:<0.00005>")))
    (setq wcz 0.00005)
  )
  (setq ss (ssget '((0 . "CIRCLE"))))
  (if ss
    (progn
      (setvar "osmode" 0)
      (setq i 0)
      (command "_.LAYER" "M" "层-同心圆" "C" "1" "层-同心圆" "")
      (repeat (sslength ss)
        (setq entnam2 (ssname ss i))
        (setq entdata2 (entget entnam2))
        (setq circlecoord2 (cdr (assoc 10 entdata2)))
        (setq obj2 (vlax-ename->vla-object entnam2))
        (if (equal circlecoord1 circlecoord2 wcz)
          (vla-put-layer obj2 "层-同心圆")
        )
        (setq i (1+ i))
      )
    )
    (princ "\n未选取到对象,程序退出.")
  )
  (command "undo" "e")
  (setvar "osmode" 15359)
  (princ)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-19 13:05 , Processed in 0.627458 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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