找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: lizhongf

[编程申请]:请高手编一个倒角命令,能倒固定长度的切角

[复制链接]
发表于 2009-2-25 18:35:37 | 显示全部楼层
非常感谢,很实用的园林工具
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2026个

财富等级: 金玉满堂

发表于 2009-11-29 18:37:55 | 显示全部楼层
15楼的写得不错,谢谢!但若应用于机械制图时,我还是觉得倒角距离应该是直线本身被修剪掉的长度值,而不是倒角后的斜边长度,因此还是将
(setq L1 (* (sin (/ (* (- 90 ang) pi) 180)) L))
(command "chamfer" "a" L1 ang)
两句改成下句更好
(command "chamfer" "a" L ang)

整个程序为:

(defun c:dj ( / pt )
(princ "“距离-角度”倒角模式")
(setvar "cmdecho" 0)
(if (= (getvar "userr1") 0)
(progn
(setvar "userr1" 1.0)
(setvar "userr2" 45.0)
)
)
(setq l (if l l (getvar "userr1"))
ltp (getdist (strcat "\n输入倒角距离:<" (rtos l 2 2) ">:"))
l (if ltp ltp l)
ang (if ang ang (getvar "userr2"))
angtp (getreal (strcat "\n输入倒角角度:<" (rtos ang 2 2) ">:"))
ang (if angtp angtp ang)
)
(setq pt (entsel "\n选择第一条直线:"))
;(setq L1 (* (sin (/ (* (- 90 ang) pi) 180)) L))
;(command "chamfer" "a" L1 ang) ; 将上句和本句改成下句
(command "chamfer" "a" L ang)
(command "chamfer" pt)
(prin1)
)

两直线边不垂直时,本程序仍可实现倒角,只不过倒角的角度值是选择的第一条直线与倒角斜边的夹角值。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-20 09:54 , Processed in 0.149036 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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