明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5759|回复: 103

平分曲线(LISP免费插件)

    [复制链接]
发表于 2025-3-12 22:29:22 | 显示全部楼层 |阅读模式
AutoCAD插件
插件名称: 平分曲线(LISP免费插件)
插件版本:
插件类型: 辅助类工具
授权方式: 免费版本
适用版本: 2025 2002 
开发者: 比亚
推荐等级: ★★☆☆☆
插件图片: -
内容简介: 两条曲线之间按指定数量均分画线
本帖最后由 biya 于 2025-3-13 08:02 编辑

下载包回复可见






本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2025-3-13 09:03:16 | 显示全部楼层
本帖最后由 hhh454 于 2025-3-13 09:05 编辑

在论坛里看到的,可以学习借鉴一下,原址找不到了,没有版主的全面
功能:在两条曲线中间建立均分曲线
,可以复制,可以下载,一样的
  1. ;---曲线按段数等分,返回点表
  2. (defun div_n_crv(obj n / len mm pts)
  3.   (setq len(vlax-curve-getdistatparam obj(vlax-curve-getendparam obj)))
  4.   (setq mm(/ len n))
  5.   (setq pts nil)
  6.   (setq pts(cons(vlax-curve-getEndPoint obj)pts));终点加入到点表
  7.   (while
  8.     (>(setq len(- len mm))0.1)
  9.     (setq pts(cons(vlax-curve-getPointAtDist obj len)pts))
  10.   )
  11.   (setq pts(cons(vlax-curve-getStartPoint obj)pts));起点加入到点表
  12. )
  13. (defun c:tween_curve(/ dis len1 len2 lenmax n obj1 obj2 pts1 pts2 pts3 pts5 tol)
  14.   (setq obj1(vlax-ename->vla-object(car(entsel "\n请选取第一根曲线:"))))
  15.   (setq obj2(vlax-ename->vla-object(car(entsel "\n请选取第二根曲线:"))))
  16.   (setq n(getint "\n两条曲线中间均分创建几条曲线?<1>"))(or n(setq n 1))
  17.   (if(not(and obj1 obj2 n))(quit));防呆措施
  18.   (setq len1(vlax-curve-getdistatparam obj1(vlax-curve-getendparam obj1)))
  19.   (setq len2(vlax-curve-getdistatparam obj2(vlax-curve-getendparam obj2)))
  20.   (setq tol(fix(* 0.01(setq lenmax(max len1 len2)))))
  21.   (setq dis(getreal(strcat "\n请设置等分近似值(以长线为准,短线适配,默认百分之一,越小越准确):<"(rtos tol 2 0)">")))
  22.   (or dis(setq dis tol))
  23.   (setq pts1(div_n_crv obj1(fix(/ lenmax dis))))
  24.   (setq pts2(div_n_crv obj2(fix(/ lenmax dis))))
  25.   (if
  26.     (>
  27.       (distance(car pts1)(car pts2))
  28.       (distance(car pts1)(last pts2))
  29.     )
  30.     (setq pts2(reverse pts2))
  31.   )
  32.   (setq pts3(mapcar '(lambda(x1 x2)
  33.                        (setq dist(distance x1 x2))
  34.                        (setq mm(/ dist(1+ n)))
  35.                        (setq pts4 nil)
  36.                        (while
  37.                          (>(setq dist(- dist mm))0.1)
  38.                          (setq pts4(cons(polar x1(angle x1 x2)dist)pts4))
  39.                        )
  40.                      )pts1 pts2))
  41.   (setq pts5(apply 'mapcar(cons 'list pts3)))
  42.   (foreach lst pts5
  43.     (entmake(append
  44.               (list
  45.                 '(0 . "SPLINE")
  46.                 '(100 . "AcDbEntity")
  47.                 '(100 . "AcDbSpline")
  48.                 '(71 . 3)
  49.                 '(62 . 6)
  50.               )
  51.               (mapcar '(lambda(x)(cons 11 x))lst)
  52.             )
  53.     )
  54.   )
  55.   (princ)
  56. )


本帖子中包含更多资源

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

x
回复 支持 1 反对 0

使用道具 举报

发表于 2025-3-13 08:18:06 | 显示全部楼层
kexiya123 发表于 2025-3-13 08:03
提个简单要求,把运用的命令名字写简单一点,不要那么长

每个人的命令使用习惯不一样  太短会造成别人的重复  你要简单的可以自己自定义一下就可以了   版主是照顾大家的使用
回复 支持 反对

使用道具 举报

 楼主| 发表于 6 天前 | 显示全部楼层
spp_wall 发表于 2025-4-9 15:16
感谢版主,向版主学习

感谢支持,好用的话多介绍朋友来下载
回复 支持 反对

使用道具 举报

发表于 2025-4-9 15:16:26 | 显示全部楼层
感谢版主,向版主学习
回复 支持 反对

使用道具 举报

发表于 2025-4-8 09:49:15 | 显示全部楼层
感谢分享,回复下载。
回复 支持 反对

使用道具 举报

发表于 2025-4-7 17:11:55 | 显示全部楼层
感谢大佬分享
回复 支持 反对

使用道具 举报

发表于 2025-4-7 12:52:20 | 显示全部楼层
学习一下谢谢
回复 支持 反对

使用道具 举报

发表于 2025-4-6 17:21:42 | 显示全部楼层
hhh454 发表于 2025-3-13 09:03
在论坛里看到的,可以学习借鉴一下,原址找不到了,没有版主的全面
功能:在两条曲线中间建立均分曲线
, ...

这个也非常好!对这个内插期盼已久终于在这里发现,感谢长老!
回复 支持 反对

使用道具 举报

发表于 2025-4-5 20:17:21 | 显示全部楼层
下载备用,谢谢!
回复 支持 反对

使用道具 举报

发表于 2025-4-4 00:09:51 | 显示全部楼层

每天学习一点,每天进步一点
回复 支持 反对

使用道具 举报

发表于 2025-4-2 12:49:19 | 显示全部楼层
非常感谢分享,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-4-19 00:12 , Processed in 0.299506 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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