明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1674|回复: 3

[求助]倒角命令的扩展

[复制链接]
发表于 2009-6-3 17:11:00 | 显示全部楼层 |阅读模式

要实现的目的:

拾取两条直线,输入倒角的距离d,然后调用倒角命令,以输入的倒角距离d/(sin(两条直线夹角))为新的倒角距离对原直线做倒角操作,以下为我编的程序,但是最后一行调用倒角命令的时候出错,不能够自由保留倒角后的边,也就是说对与拾取的两条直线,倒角方式是固定的,求达人解答,万分感谢

(defun C:dj ()
  (setvar "cmdecho" 0)
  (setvar "blipmode" 0)
  (get_dj_data)
  (draw_dj)
  (prin1)
)

                                        ;拾取倒角直线及输入基本参数
(defun get_dj_data ()
  (setq dis (getint "\n请输入倒角距离<300>:"))
  (if (null dis)
    (setq dis 300)
  )
  (setq l1 (entsel "\n请选择第一条直线:"))
  (setq l2 (entsel "\n请选择第二条直线:"))

)

                                        ;此处需要调用一个求两直线夹角的函数
(defun draw_dj ()
  (setq ang (l_sub_rang l1 l2))
  (setq dist (/ dis (sin ang)))
  (setvar "chamfera" dist)
  (setvar "chamferb" dist)
  (command "chamfer" (car l1) (car l2));此处出现问题,倒角保留边的问题
)
(prin1)
;以下是调用的子程序
;求直线与水平线夹角(弧度)
(defun l_ar (l)                           ;l只是图元名
  (setq l_data (entget (car l)))
  (setq pt1 (cdr (assoc 10 l_data)))
  (setq pt2 (cdr (assoc 11 l_data)))
  (setq l_k (/ (- (cadr pt2) (cadr pt1)) (- (car pt2) (car pt1)) ))
  (atan l_k)
)

;求两直线的夹角(弧度)
(defun l_sub_rang(l1 l2)
  (abs (- (l_ar l1) (l_ar l2)));只讲怎么运算(不需要再用setq函数)
)

发表于 2009-6-3 17:33:00 | 显示全部楼层

(command "chamfer" (car l1) (car l2))

->

(command "chamfer" l1 l2)

 楼主| 发表于 2009-6-3 17:37:00 | 显示全部楼层
感谢,请问这个|符号是什么意思
 楼主| 发表于 2009-6-3 17:39:00 | 显示全部楼层

看错了。。。感谢感谢这位大侠

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

本版积分规则

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

GMT+8, 2025-2-24 23:25 , Processed in 0.174098 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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