明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1175|回复: 6

[讨论] LISP排圆可以这样吧???

[复制链接]
发表于 2016-2-22 03:14:29 | 显示全部楼层 |阅读模式
工作量比较大,哪位仁兄看下写个,要求排圆精度不高,请看图

本帖子中包含更多资源

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

x
发表于 2016-2-22 09:15:55 | 显示全部楼层
有个沿线矩阵,或许符合你的需要。
发表于 2016-2-22 09:23:16 | 显示全部楼层
好象是可能用
路径阵列吧
你试试看
 楼主| 发表于 2016-2-22 10:50:30 | 显示全部楼层
工作量比较大,哪个不好用,是不是很难写??

点评

这种估计只有院长会跟你写  发表于 2016-2-22 11:32
发表于 2016-2-27 14:33:36 | 显示全部楼层
(defun c:tes ( / &ob1 &p1 a0 a8 dis1 dis2 dis3 ent1 i r1)
(if (null vlax-dump-object) (vl-load-com) )
(if (and
  (> (setq r1 (getdist "\n请输入圆半径")) 0)
  (> (setq dis1 (getdist "\n请输入距离")) 0)
  (setq a8 (entsel "\n请选择参考图层对象"))
  (setq a8 (assoc 8 (entget (car a8))))
  (setq ent1 (entsel "\n请选择曲线"))
  (setq ent1 (car ent1))
  (setq a0 (cdr (assoc 0 (entget ent1))))
  (member a0 '("LINE" "ELLIPSE" "CIRCLE" "ARC" "LWPOLYLINE" "SPLINE"))
     )
  (progn
   (setq &ob1 (vlax-ename->vla-object ent1))
   (setq dis2 (vlax-curve-getDistAtParam &ob1 (vlax-curve-getEndParam &ob1)))
   (setq i 1 dis3 0)
   (while (>= dis2 dis3)
    (setq &p1 (vlax-curve-getPointAtDist &ob1 dis3))
    (entmake (list '(0 . "CIRCLE") a8 (cons 10 &p1) (cons 40 r1)))
    (setq dis3 (* dis1 i) i (1+ i))
   );while
  );progn
);if
(princ)
)
 楼主| 发表于 2016-2-28 20:59:59 | 显示全部楼层
本帖最后由 CAD83 于 2016-2-28 21:11 编辑

很好,请选择参考图层对象这项能不能不用选择,自动到生成一层去,及记忆上次输入的半径\距离
发表于 2016-2-29 13:06:23 | 显示全部楼层
看看好用不
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-20 19:49 , Processed in 0.180673 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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