明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1245|回复: 2

[讨论] 请教个剪切不完全问题

[复制链接]
发表于 2014-6-23 17:12:56 | 显示全部楼层 |阅读模式




我想用下面这段程序画出上面的图形,可得出的确实下面的图形,想请各位看看是什么原因,还有图中那个角度标注始终表不出来,能否也帮忙看看,谢谢各位了



(defun dcx1()
(command "limits" '(list -100 -100 ) '(list 900 1200))
(command "zoom" "a")
(command "osnap" "off" "")        ;关闭目标捕捉   
(command "ortho" "off" "")        ;关闭捕捉命令   
(command "layer" "n" "centerl,cusolidl,xsolidl,cusolidlcx, bhatchl,dividel,demension"   
          "c" 1 "centerl" "L" "center" "centerl"  "lw" 0.15 "centerl"
          "c" 3 "cusolidl" "L" "continuous" "cusolidl" "lw" 0.30 "cusolidl"
          "c" 2 "cusolidlcx" "L" "continuous" "cusolidl" "lw" 0.30 " cusolidlcx"
          "c" 5 "xsolidl" "L" "continuous" "xsolidl" "lw" 0.15 "xsolidl"
          "c" 4 "bhatchl" "L" "continuous" "bhatchl" "lw" 0.15 "bhatchl"
          "c" 2 "dividel" "L" "divide" "dividel" "lw" 0.15 "dividel"
          "c" 6 "demension" "L" "continuous" "demension" "lw" 0.15 "demension" "")
(command "ltscale" 5 "centerl")
(command "ltscale" 5 "dividel")

(setq ptc1 (list 100 235)
        ptc2 (list 265 235)
        ptc3 (list 265 310)
        ptc4 (list 265 160)
)
(command "line" ptc1 (polar ptc2  0  32) "")          ; 水平中心线
(command "line" ptc3 ptc4 "")          ; 垂直中心线
(setq h0 10
        zk  14
        H  16.75
        da0 110
        ak  35.0    ;槽型角                                    
        K  4.5
        K1  7
        r  1.5      ;槽底圆角半径
         m   8
)
(setq dp0 ptc2)

(setq ac (/ (* 2.0 pi) zk)
      ak (/ (* ak pi) 180.0)
      dp1 (polar dp0 (* 0.5 pi) (* 0.5 da0))
      dp2 (polar dp1 (* 1.5 pi) h0)
      dp3 (polar dp0 (+ (* 0.5 pi) ac) (- (* 0.5 da0) K))
      dp4 (polar dp0 (+ (* 0.5 pi) ac) (- (* 0.5 da0) K h0))
      dp5 (polar dp0 (+ (* 0.5 pi) ac) (* 0.5 da0))
      dp6 (polar dp0 (+ (* 0.5 pi) ac) (- (* 0.5 da0) (- H r) (* r (/ (cos (* 0.5 ak)) (sin (* 0.5 ak))))))
      dp7 (polar dp6 (- (+ (* 0.5 pi) ac) ak) (* 0.5 da0))
      dis  (if (> m 4)
             (* 0.333 (- (car dp6) (car dp0)))
             (* 0.50 (- (car dp6) (car dp0)))
       )  
      dp8 (list (- (car dp6) dis) (cadr dp6))
      dp9 (polar dp8 (- (+ (* 0.5 pi) ac) ak) (* 0.5 da0))
      dp10 (polar dp0 (+ (* 0.5 pi) (* 3 ac)) (* 0.5 da0))
      dp11 (polar dp0 (- (* 0.5 pi) ac ac) (* 0.5 da0))
)
  (setq dp12 (polar dp0 (* 0.5 pi)  (+ (* 0.5 da0) (* 0.5 (- K1 K))))
        dp13 (polar dp12 (* 1.5 pi) K1)
        dp14 (polar dp13 (* 0.5 pi) (* 0.5 (- K1 K)) )
        dp15 (polar dp14 (* 0.5 pi) K )
        dp16 (polar dp0 (- (* 0.5 pi) ac) (+ (* 0.5 da0)(* 0.5 (- K1 K))))
        dp17 (polar dp0 (- (* 0.5 pi) ac) (* 0.5 da0))
)
  
(command "layer" "s" "cusolidl" "")
(command "arc" dp1 "e" dp3 "r" (* 0.5 da0) "")
(setq ob1 (entlast))   
(command "arc" dp2 "e" dp4 "r" (* 0.5 da0) "")
(command "line" dp6 dp7 "")
(command "line" dp8 dp9 "")
(command "trim" dp7 "" dp4 dp3 "")
(command "line" dp0 dp5 "")
(command "fillet" "r" r "fillet" dp5 dp7 "")
(setq cc4 (entlast))
(command "trim" dp1 "" dp7 dp9 "")
(command "trim" dp2 "" dp8"")
(setq ob3 (ssget "w"  (list (car dp5) (cadr dp0)) (polar dp1   (* 0.25 pi)  2)))  
(command "array" "w" (polar dp1   (* 0.25 pi)  2) (list (car dp5) (cadr dp0)) "" "p" dp0 5 (/  (* 4 ac  180) pi) "")
  
(setq ro1 (list (- (car dp0) (* 0.6 da0)) (+ (cadr dp0) (* 0.6 da0)))
      ro2 (list (+ (car dp0) (* 0.6 da0)) (- (cadr dp0) (* 0.6 da0)))
)      
(command "rotate" "w" ro1 ro2 "" dp0 (- 0(/ (* 1 ac 180) pi)))
(setq ro1 (list (- (car dp0) (* 0.6 da0)) (+ (cadr dp0) (* 0.6 da0)))
      ro2 (list (+ (car dp0) (* 0.6 da0)) (- (cadr dp0) (* 0.6 da0)))
)      
(command "rotate" "w" ro1 ro2 "" dp0 (- 0(/ (* 1 ac 180) pi)))
(command "arc" "c" dp0  dp10 dp11 "")
(command "layer" "s" "demension" "")
(command "line" dp16 dp17 "")
(command "arc" dp17 "e" dp15 "r" (* 0.5 da0) "")
(command "arc" dp16 "e" dp12 "r" (* 0.5 da0) "")
(command "arc" dp17 "e" dp14 "r" (* 0.5 da0) "")
(dim-v dp13 dp12  (- 0 (* 0.4 da0)) "")
(dim-v dp14 dp15  (- 0 (* 0.3 da0)) "")
(command "layer" "s" "demension" "")
(setq ppH (polar dp1 (* 1.5 pi) H) )
(dim-v ppH dp1  (- 0 (* 0.5 da0))"")
(command "dimradius" (list cc4 (polar dp0 0 8)) (polar dp0 (* 0.25 pi) (* 0.35 da0)))
(setq wp0 (polar dp0 (* 0.5 pi) (* 0.6 da0)))
(command "line" dp1 wp0 "")  
)

本帖子中包含更多资源

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

x
发表于 2014-6-23 22:10:05 来自手机 | 显示全部楼层
trim后应是(图元 点)
 楼主| 发表于 2014-6-24 09:07:48 | 显示全部楼层
自贡黄明儒 发表于 2014-6-23 22:10
trim后应是(图元 点)

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

本版积分规则

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

GMT+8, 2025-5-24 14:02 , Processed in 0.159122 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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