明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1288|回复: 3

程序执行会跑出“F2”键效果的怪现象

[复制链接]
发表于 2005-4-8 13:03 | 显示全部楼层 |阅读模式
原程式如下,执行时会跑出“F2”键效果的怪现象请大家帮忙 (defun C:arcct (/ ent_sel ent_data qty1 cb1 rad dad2 atext1 atext2 atext3)


(setq ent_sel (entsel "\请选取要标注的沉头圆"))
(setq qty1 (getstring "\n 输入沉头数量? <1> : "))
(setq cb1 (getstring "\n 正面(c)or反面(b) ? <c> : "))
(setq ent_data (entget (car ent_sel)))
(if (= (cdr (assoc 0 ent_data)) "CIRCLE")
(progn
(setq ent_data (entget (car ent_sel)))
(setq rad (cdr (assoc 40 ent_data)))
))
(setq dad2 (* rad 2))
(float dad2)
(setq dad2 (rtos dad2 2 1))
(if (= dad2 "6")

(progn
(setq dad3 "3.4")
(setq pitch "3.3"))
)
(if (= dad2 "8.0")
(progn
(setq dad3 "4.5")
(setq pitch "4.4")
))
(if (= dad2 "9.5")
(progn
(setq dad3 "5.5")
(setq pitch "5.4")
))
(if (= dad2 "11")
(progn
(setq dad3 "6.6")
(setq pitch "6.5")
))
(if (= dad2 "14")
(progn (setq dad3 "9.0")
(setq pitch "8.6")
))
(if (= dad2 "17.5")
(progn (setq dad3 "11") (setq pitch "10.8")
))
(if (= dad2 "20")
(progn (setq dad3 "14")
(setq pitch "13")
))
(if (= dad2 "23")
(progn (setq dad3 "16")
(setq pitch "15")
))
(if (= dad2 "26")
(progn (setq dad3 "18")
(setq pitch "17.5")
))
(if (= dad2 "29")
(progn (setq dad3 "20")
(setq pitch "20")
))
(if (= dad2 "32")
(progn (setq dad3 "22")
(setq pitch "22")
)) (if (= cb1 "b")
(setq adep "(背面)")
)
(if (= qty1 "")
(setq atext1 (strcat "%%c" dad2))
(setq atext1 (strcat qty1 "-" "%%c"dad2)))
(setq atext2 (strcat atext1 "深" pitch))
(setq atext3 (strcat " %%c"dad3 "穿"))
(setq atext (strcat atext2 atext3))
(if (= cb1 "b")
(setq atext (strcat atext adep)))

(command "-dimstyle" "R" "螺纹")

(command "dim" "leader" pause pause pause atext "exit")
(command "-dimstyle" "R" "Standard")
)
 楼主| 发表于 2005-4-8 13:07 | 显示全部楼层
先画一个直径为6mm的圆即可以试
发表于 2005-4-8 13:29 | 显示全部楼层
  1. ;;没有你说的程序怪现象
  2. (defun C:ARCCT
  3.              (/ ENT_SEL ENT_DATA QTY1 CB1 RAD DAD2 ATEXT1 ATEXT2 ATEXT3)
  4.    (setq ENT_SEL (entsel "\请选取要标注的沉头圆"))
  5.    (if (= (setq QTY1 (getstring "\n 输入沉头数量? <1> : ")) "")
  6.        (setq QTY "1")
  7.    )
  8.    (if (= (setq CB1 (getstring "\n 反面(b)/<正面>: ")) "")
  9.        (setq CB1 "c")
  10.        (setq CB1 "b")
  11.    )
  12.    (setq ENT_DATA (entget (car ENT_SEL)))
  13.    (if (= (cdr (assoc 0 ENT_DATA)) "CIRCLE")
  14.        (progn
  15.            (setq ENT_DATA (entget (car ENT_SEL)))
  16.            (setq RAD (cdr (assoc 40 ENT_DATA)))
  17.        )
  18.    )
  19.    (setq DAD2 (* RAD 2))
  20.    (float DAD2)
  21.    (setq DAD2 (rtos DAD2 2 1))
  22.    (if (= DAD2 "6")
  23.        (progn
  24.            (setq DAD3 "3.4")
  25.            (setq PITCH "3.3")
  26.        )
  27.    )
  28.    (if (= DAD2 "8")
  29.        (progn
  30.            (setq DAD3 "4.5")
  31.            (setq PITCH "4.4")
  32.        )
  33.    )
  34.    (if (= DAD2 "9.5")
  35.        (progn
  36.            (setq DAD3 "5.5")
  37.            (setq PITCH "5.4")
  38.        )
  39.    )
  40.    (if (= DAD2 "11")
  41.        (progn
  42.            (setq DAD3 "6.6")
  43.            (setq PITCH "6.5")
  44.        )
  45.    )
  46.    (if (= DAD2 "14")
  47.        (progn (setq DAD3 "9.0")
  48.        (setq PITCH "8.6")
  49.        )
  50.    )
  51.    (if (= DAD2 "17.5")
  52.        (progn (setq DAD3 "11")
  53.        (setq PITCH "10.8")
  54.        )
  55.    )
  56.    (if (= DAD2 "20")
  57.        (progn (setq DAD3 "14")
  58.        (setq PITCH "13")
  59.        )
  60.    )
  61.    (if (= DAD2 "23")
  62.        (progn (setq DAD3 "16")
  63.        (setq PITCH "15")
  64.        )
  65.    )
  66.    (if (= DAD2 "26")
  67.        (progn (setq DAD3 "18")
  68.        (setq PITCH "17.5")
  69.        )
  70.    )
  71.    (if (= DAD2 "29")
  72.        (progn (setq DAD3 "20")
  73.        (setq PITCH "20")
  74.        )
  75.    )
  76.    (if (= DAD2 "32")
  77.        (progn (setq DAD3 "22")
  78.        (setq PITCH "22")
  79.        )
  80.    )
  81.    (if (= CB1 "b")
  82.        (setq ADEP "(背面)")
  83.    )
  84.    (if (= QTY1 "")
  85.        (setq ATEXT1 (strcat "%%c" DAD2))
  86.        (setq ATEXT1 (strcat QTY1 "-" "%%c" DAD2))
  87.    )
  88.    (setq ATEXT2 (strcat ATEXT1 "深" PITCH))
  89.    (setq ATEXT3 (strcat " %%c" DAD3 "穿"))
  90.    (setq ATEXT (strcat ATEXT2 ATEXT3))
  91.    (if (= CB1 "b")
  92.        (setq ATEXT (strcat ATEXT ADEP))
  93.    )
  94.    ;;(command "-dimstyle" "R" "螺纹")
  95.    (command "dimdiameter" ENT_SEL "t" ATEXT PAUSE)
  96.    ;;(command "dim" "leader" PAUSE PAUSE "" ATEXT "exit")
  97.    ;;(command "-dimstyle" "R" "Standard")
  98.    (princ)
  99. )
 楼主| 发表于 2005-4-8 13:50 | 显示全部楼层
经大侠改过后,确实不再出现         谢谢!


因为标注方式我要的是引线标注,大侠改过后为直径标注式请帮忙再改一下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-17 17:28 , Processed in 0.158390 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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