明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1316|回复: 8

[求助]請幫忙看一下哪裡出了問題

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

請各位大俠幫忙看一下我這個程序哪裡出了問題。

我是想寫一下個程序,對一個零件的主視圖畫仰視圖(先左後右選點)或右視圖(先下後上選點),並標注外形尺寸。

現在出現的問題是第一次執行程序只能得到第一張圖的結果,如果再重復執行一下程序,就能得到想要的結果(第二張圖)。分析了很久,一直沒有搞明白到底是哪裡出錯。請各位相助一下。謝謝了!

本帖子中包含更多资源

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

x
发表于 2009-4-16 22:05:00 | 显示全部楼层

;礶箂ン跌┪ヵ跌近锅瓜夹猔
(
defun c:sd()
  (
setvar "cmdecho" 0)
  (
setq osmode (getvar "osmode"))
  (
setvar "osmode" 1)
  (
setq pta (getpoint "\n 叫块材翴:")
    ptb (
getpoint "\n 叫块材翴:"))
    (
if (> (abs (- (car pta) (car ptb))) (abs (- (cadr pta ) (cadr ptb))))
    (
setq pl 1);绢Α
    (
setq pl 0));捷Α if end
;;;   (
setq ptx (Getpoint "\n ﹚凹跌よ:"))

此处加上下面一句看看哦,应该会好了的

  (setvar "osmode" 0)

发表于 2009-4-17 08:49:00 | 显示全部楼层
都是UCS做怪。
  1. ;畫零件的右視或仰視輪廓圖,並標注
  2. (defun c:sd()
  3. (setvar "cmdecho" 0)
  4. (setvar "BLIPMODE" 0)
  5. (setq osmode (getvar "osmode"))
  6. (setvar "osmode" 1)
  7. (setq pta (getpoint "\n 請輸入第一點:")
  8.        ptb (getpoint "\n 請輸入第二點:"))
  9. (if (> (abs (- (car pta) (car ptb))) (abs (- (cadr pta ) (cadr ptb))))
  10.     (setq pl 1);橫式
  11.     (setq pl 0));豎式 if end
  12. ;;;   (setq ptx (Getpoint "\n 指定側視方向:"))
  13. (if (= pl 1)
  14.   (setq pt0 (list (car pta) (- (cadr pta) 10)))
  15.   (setq pt0 (list (+ (car pta) 10) (cadr pta)))
  16. )
  17. ;;;   (command "ucs" "o" pt0)
  18. (if (= pl 1)
  19.   (setq ;x (abs(- (car ptb) (car pta)))
  20.         pt1 (list (+ (car pta) 0.3) (- (cadr pta) 10))
  21.         pt2 (list (car pta) (- (cadr pta) 10.3))
  22.         pt3 (list (car pta) (- (cadr pta) 29.98))
  23.         pt4 (list (car ptb) (- (cadr pta) 29.98))
  24.         pt5 (list (car ptb) (- (cadr pta) 10.3))
  25.         pt6 (list (- (car ptb) 0.3) (- (cadr pta) 10))
  26.         pt7 (list (car pta) (- (cadr pta) 12))
  27.         pt8 (list (car ptb) (- (cadr ptb) 12)))
  28.   (setq ;y (abs (- (cadr pta) (cadr ptb)))
  29.         pt1 (list (+ (car pta) 10) (+ (cadr pta) 0.3))
  30.         pt2 (list (+ (car pta) 10.3) (cadr pta))
  31.         pt3 (list (+ (car pta) 29.98) (cadr pta))
  32.         pt4 (list (+ (car pta) 29.98) (cadr ptb))
  33.         pt5 (list (+ (car pta) 10.3) (cadr ptb))
  34.         pt6 (list (+ (car pta) 10) (- (cadr ptb) 0.3))
  35.         pt7 (list (+ (car pta) 12) (cadr pta))
  36.         pt8 (list (+ (car pta) 12) (cadr ptb)))
  37. );if end
  38. (setvar "osmode" 0)
  39. (command ".pline" pt1 pt2 pt3 pt4 pt5 pt6 pt1 "c")
  40. (command ".line" pt7 pt8 "")
  41. (setvar "dimdec" 3)
  42. (command "ucs" "o" pt0)
  43. (setq pt1 pt1) (setq pt3 pt3) (setq pt4 pt4)
  44. (if (= pl 1)
  45.   (setq pt31 (list (- (car pta) 3) (- (cadr pta) 10))
  46.         pt32 (list (- (car pta) 3) (- (cadr pta) 12))
  47.         pt33 (list (- (car pta) 3) (- (cadr pta) 29.98))
  48.         pt34 (list (car pta) (- (cadr pta) 33))
  49.         pt35 (list (car ptb) (- (cadr pta) 33)))
  50.   (setq pt31 (list (+ (car pta) 10) (- (cadr pta) 3))
  51.         pt32 (list (+ (car pta) 12) (- (cadr pta) 3))
  52.         pt33 (list (+ (car pta) 29.98) (- (cadr pta) 3))
  53.         pt34 (list (+ (car pta) 33) (cadr pta))
  54.         pt35 (list (+ (car pta) 33) (cadr ptb)))
  55. )
  56. (command "dimordinate" (trans pt1 0 1) (trans pt31 0 1))
  57. (command "dimordinate" (trans pt3 0 1) (trans pt33 0 1))
  58. (command "dimordinate" (trans pt3 0 1) (trans pt34 0 1))
  59. (command "dimordinate" (trans pt4 0 1) (trans pt35 0 1))
  60. (setvar "dimdec" 1)
  61. (command "dimordinate" (trans pt7 0 1) (trans pt32 0 1))
  62. (command ".ucs" "w")
  63. (setvar "dimdec" 3)
  64. (setvar "BLIPMODE" 1)
  65. (setvar "osmode" osmode)
  66. (setvar "cmdecho" 1)
  67. (princ)
  68. )
 楼主| 发表于 2009-4-17 12:59:00 | 显示全部楼层
ZZXXQQ老大。你改的這個好像也有問題,都是第一次加載只能畫出圖形而沒有標注,以後都沒有問題。
 楼主| 发表于 2009-4-17 13:00:00 | 显示全部楼层

有試過,不行的,因為不是捕捉造成的問題

发表于 2009-4-17 20:44:00 | 显示全部楼层
没问题呀!我在2004上调试通过。
 楼主| 发表于 2009-4-18 10:47:00 | 显示全部楼层
我這裡打開一個新圖,加載後第一次使用就會像圖中一樣。沒有標注出來。只有黃色的圈圈中有一點標注的點
 楼主| 发表于 2009-4-18 10:48:00 | 显示全部楼层

剛才忘了傳圖了

本帖子中包含更多资源

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

x
 楼主| 发表于 2009-4-21 12:24:00 | 显示全部楼层
搞定了。要在最前面再加一句(command ".ucs" "w")
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-22 04:12 , Processed in 0.162026 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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