荒野孤行 发表于 2013-9-8 20:36:45

【源码】比例可变的轨迹/路径阵列

本帖最后由 荒野孤行 于 2015-7-24 23:12 编辑

可以选择沿着曲线轨迹/路径不旋转/旋转阵列,同时阵列对象的比例也可以变化(但是需要将阵列的对象组成块),演示请见图示:

;;;******路径阵列 程序开始******
(defun c:t1 ()
(setvar "osmode" 15359)
(setvar "cmdecho" 0)
(command "undo" "be")
(princ "\n★功能:沿曲线路径阵列.\n")
(while
    (progn (setq EntBlock   (entsel
                                "\n选择要阵列的块(请确保图块的基点已设定于其中心位置):"
                              )
               BlockEntname (car EntBlock)
           )
           (not        (if (= EntBlock nil)
                  nil
                  (= (cdr (assoc 0 (entget BlockEntname))) "INSERT")
                )
           )
    )
   (princ
       "\n提示:选取的不是图块或未选取任何图元,请重新选取:"
   )
)
(setq BlockName (cdr (assoc 2 (entget (car EntBlock)))))
(while
    (progn
      (setq EntCurve
             (entsel
             "\n请选择路径曲线(多段线、直线、样条曲线、圆、圆弧或椭圆):\n"
             )
      )
      (not
        (if (= EntCurve nil)
          nil
          (wcmatch (cdr (assoc 0 (entget (car EntCurve))))
                   "LWPOLYLINE,LINE,SPLINE,ARC,CIRCLE,ELLIPSE"
          )
        )
      )
    )
)
(initget 6)
(if (not (setq num (getint "\n阵列总数量:<10>")))
    (setq num 10)
)
(initget "Y N")
(if (not
        (setq kw (getkword "阵列同时旋转对象:[是(Y) / 否(N)]<Y>"))
      )
    (setq kw "Y")
)
(initget "A B")
(if
    (not (setq gongshi
                (getkword
                  "\n选择计算图块比例变化的公式:[Sin(x)+1.2(A)/Cos(x)+1.2(B)]<A>: "
                )
       )
    )
   (setq gongshi "A")
)
**** Hidden Message *****
    (setq i (+ i 1))
)
(command "undo" "e")
(setvar "osmode" 15359)
(princ)
)
;;;;;;*******路径阵列 程序结束******

cjjh8301 发表于 2020-6-27 19:24:38

本帖最后由 cjjh8301 于 2020-6-27 19:27 编辑

感谢楼主的源码
但是,为什么块阵列时,到了某个角度,就翻转过来了,能解决这个问题吗(块基点为短边中点)

路宁宁 发表于 2017-12-31 14:27:25

荒野孤行 发表于 2013-9-9 19:30
主要运用VLX-Curve-函数

图块的间距要是可以逐渐变化就完美了。

creatorzxz 发表于 2025-4-5 12:03:56


如果可以改成按照固定长度或等分长度就好了

风亦飞 发表于 2025-3-10 18:00:49

感谢分享!~

阿猪蛋 发表于 2025-1-13 09:18:48

正好需要,支持下

阳阳阳 发表于 2022-12-14 09:39:56

谢谢楼主!!

白色微風1991 发表于 2022-5-19 12:38:21

正好需要,支持下

生活丨好无奈 发表于 2020-6-29 22:35:10

实用的程序!!!

xiao+fei 发表于 2020-6-25 19:30:30

可以选择对象的两点在曲线上阵列吗?

潇洒掌柜 发表于 2020-6-5 17:56:45

看不到东西
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【源码】比例可变的轨迹/路径阵列