【AF】圆弧半径规整_v1.7——起点终点不变
本帖最后由 kucha007 于 2023-7-12 17:11 编辑最早来自这里,昨天发帖请教坛友有没有合适的思路:http://bbs.mjtd.com/thread-186848-1-1.html?_dsign=49825f69
结果在查资料的时候发现了几乎符合我需求的程序,于是我努力学习,看懂了之后做了一些调整:
01-支持多选,先选
02-优化舍入部分的代码(大于舍入值中位数进一,小于舍去。如果规整后的圆弧直径小于弦长,也进一)。
03-用更清晰的方式命名变量,也加了一些注释,希望可以帮到有同样需求的朋友。
1.4版本:多段线直接处理。圆弧借用了坛友的源码,先转多段线再处理。
1.5版本:加了类似格式刷的操作,可能会慢一些(本来想在生成圆弧多段线的时候直接就获取对象特性,但老是不成功= =)
感谢作者的分享,程序源码在这里:https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/auto-edit-bulge-radius-pline-to-even-odd/td-p/7932740
找资料过程中遇到的关于凸度的介绍:看完基本上也就懂原理了:
https://www.afralisp.net/archive/lisp/Bulges1.htm
http://lee-mac.com/bulgeconversion.html
;已知圆半径R和弦长D,求弦高H
(setq H (sqrt (- (expt R 2) (expt (* D 0.5) 2))))
;半径四舍五入
(if (= 0 (Setq FVar (fix (/ (+ Rad (* Round 0.5)) Round))))
(setq Rad Round)
(setq Rad (* Round FVar))
);四舍五入
(if (< Rad LenStr)(setq Rad (+ Rad Round)));避免圆直径小于弦长
本帖最后由 kucha007 于 2023-7-12 17:11 编辑
20230712_v1.7
1-支持圆半径规整
20230707_v1.6
1-重构了函数,使得更容易理解和更新
2-支持先选和后选,支持圆弧和轻多段线
3-圆弧规整以后还是圆弧,方便属性栏查看半径
4-舍入基数改为全局变量,方便多次使用
(defun c:tt ()
(if (setq ss (ssget '((0 . "line"))))
(progn
(setq ss (mapcar 'cadr (vl-remove-if-not '(lambda (x) (= (car x) 3))(ssnamex ss))))
(foreach x ss
(setq dxf (entget x)
pt1 (cdr (assoc 10 dxf))
pt2 (assoc 11 dxf)
pt22 (cdr pt2)
len (distance pt1 pt22)
pt22 (polar pt1 0 len)
dxf (subst (cons 11 pt22) pt2 dxf)
)
(entmod dxf)
)
)
)
) 本帖最后由 kucha007 于 2022-12-16 02:54 编辑
有没有大佬知道为什么偶尔会出现这种错误?
; 错误: 没有为参数定义函数: -0.232869
附件中的这条多段线规整后时报错,偶尔还会出现某段圆弧无法规整的情况。
感觉是我修改的舍入部分还有没考虑到的地方。
kucha007 发表于 2022-12-16 00:31
有没有大佬知道为什么偶尔会出现这种错误?
测试文件2,半径规整成300/500都会报错
论坛里找到了这个帖子,相当于重绘圆弧了。但还不知道咋用= =。我得把选择集内的圆弧转多段线再加入选择集
http://bbs.mjtd.com/thread-186768-1-1.html
楼主 我是结构专业 有强迫症 不能忍受直线 多段线 圆弧 等 有碎数 你能整合一个程序吗 让有碎数的线 规整一下 依然小小鸟 发表于 2022-12-22 15:53
楼主 我是结构专业 有强迫症 不能忍受直线 多段线 圆弧 等 有碎数 你能整合一个程序吗 让有碎数的线 规整一 ...
论坛上应该有类似的程序,你搜一下吧。我这个也是自己需要瞎改的 kucha007 发表于 2022-12-22 16:14
论坛上应该有类似的程序,你搜一下吧。我这个也是自己需要瞎改的
找了好久没找到 СС2022-12-24 09:49
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=86961&highlight=%CA%FD%BE%DD%C8%A1%D5%FB&mobile=2 kucha007 发表于 2022-12-24 10:33
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=86961&highlight=%CA%FD%BE%DD%C8%A1%D5%FB&mobile ...
打不开呢 有电脑端的网址链接吗
页:
[1]
2