明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 945|回复: 4

[源码] 模拟CASS命令B接着画添加了隔一点微导线功能

[复制链接]
发表于 2019-1-19 00:07 | 显示全部楼层 |阅读模式
本帖最后由 13648893846 于 2019-1-19 18:45 编辑

模拟CASS命令B接着画添加了隔一点微导线功能(defun BF-curve-2D (ent / alist)
(setq alist (entget ent))
  (apply
    'append
    (mapcar
   '(lambda (x)
     (if (eq (car x) 10)
      (list (cdr x))
     )
    )
   alist
    )
  )
)
(defun LM:3p->bulge ( pt1 pt2 pt3 )
  (if(not (equal (angle pt1 pt2)(angle pt2 pt3) 1.0e-8))
    ((lambda ( a ) (/ (sin a) (cos a))) (/ (+ (- pi (angle pt2 pt1)) (angle pt2 pt3)) 2))
    0.0
    )
  )
(defun LC:One-by-one-pt(p1 p2 p);;;
  (trans(cons(car(trans p 0(setq p1(mapcar'- p2 p1))))(cdr(trans p2 0 p1)))p1 0)
)
(defun LC:Microwire (pt1 pt2 pt3 dis / ang1 a)
  (setq ang1 (angle pt1 pt2)
       a (abs (- (angle pt1 pt3) ang1))
       a (if (> a pi)
             (- (* pi 2) a)
             a
         )
  )
(cond
  ((<= a (* pi 0.25));延伸方向
   (polar pt2 ang1 dis)
  )
  ((and (<= (* pi 0.25) a (* pi 0.75)) (> (car (trans (mapcar '- pt3 pt1) 0 (mapcar '- pt2 pt1))) 0));左侧垂直方向
   (polar pt2 (+ ang1 (* pi 0.5)) dis)
  )
  ((and (<= (* pi 0.25) a (* pi 0.75)) (< (car (trans (mapcar '- pt3 pt1) 0 (mapcar '- pt2 pt1))) 0));右侧垂直方向
   (polar pt2 (- ang1 (* pi 0.5)) dis)
  )
  ((<= (* pi 0.75) a pi);相反方向
   (polar pt2 ang1 (- dis))
  )
)
)

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2019-1-19 00:20 来自手机 | 显示全部楼层
欠缺的函数在模拟X命令中
发表于 2019-1-21 01:01 | 显示全部楼层
看一下看一下看一下
发表于 2019-10-29 23:12 | 显示全部楼层
谢谢分享,支持
发表于 2020-9-21 23:13 | 显示全部楼层
感谢开源支持
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-25 05:05 , Processed in 0.266002 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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