明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3607|回复: 11

[求助]公差标注?(已解决)

  [复制链接]
发表于 2009-5-30 18:40:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2009-6-1 16:57:09 编辑

在标上下限公差时,如果数据为零时,要如何把前面的符号拿掉~
发表于 2009-5-30 21:16:00 | 显示全部楼层
我一般都用前后缀标公差,想标什么样的就写成什么样。
例如:用下面字串做后缀就可以标直径和公差。
(command ".DIMOVERRIDE" "DIMPOST" "%%c<>H7( {\H0.7X;\S+0.083^  0;} )" "")
 楼主| 发表于 2009-5-31 00:06:00 | 显示全部楼层

版大"DIMPOST"是可以在标注文本前后加字符没错~
可是好像不能实现我的问题! 小弟不才~

我的程序如下~版大帮我看看~

在一个问题? 我设了一个恢复默认值按钮~当我按了就会恢复成0值~
那我要按确定时,把有公差标注恢复成没有公差标注的状态要如何作~

(defun c:toleranc ()
  (princ "\nTOLERANC 尺寸公差标注")
  (princ "\n初始化.....")
  (setq e1 (entsel "\n选定尺寸标注:"))
  (setq dcl_id (load_dialog "toleranc.dcl"))
  (new_dialog "toleranc" dcl_id)
  (if (< dcl_id 0) (exit))
  (set_tile "dimtp" "0")
  (set_tile "dimtm" "0")
  (action_tile "comeback" "(u)");恢复默认值
  (action_tile "accept" "(ok)")
  (action_tile "cancel" "(done_dialog 0)")
  (defun u()
    (set_tile "dimtp" "0")
    (set_tile "dimtm" "0")
  )
  (defun ok()
    (setq tp (atof (get_tile "dimtp")))
    (setq tm (atof (get_tile "dimtm")))
    (done_dialog 1)
  )
  (setq act (start_dialog))
  (unload_dialog dcl_id)
  (if (= act 1) (cond
    ((= tp tm) (command "dimoverride" "dimtol" "on" "dimtdec" "3" "dimtzin" "8"
          "dimtolj" "0" "dimtfac" "1" "dimtp" tp "dimtm" tm "" e1 ""))
    ((= tp 0) (command "dimoverride" "dimtol" "on" "dimtdec" "3" "dimtzin" "8"
          "dimtolj" "0" "dimtfac" "0.6" "dimtp" "+0.00001" "dimtm" tm "" e1 ""))
    ((= tm 0) (command "dimoverride" "dimtol" "on" "dimtdec" "3" "dimtzin" "8"
          "dimtolj" "0" "dimtfac" "0.6" "dimtp" tp "dimtm" "-0.00001" "" e1 ""))
    ((/= tp 0) (command "dimoverride" "dimtol" "on" "dimtdec" "3" "dimtzin" "8"
          "dimtolj" "0" "dimtfac" "0.6" "dimtp" tp "dimtm" tm "" e1 ""))
    ((/= tm 0) (command "dimoverride" "dimtol" "on" "dimtdec" "3" "dimtzin" "8"
          "dimtolj" "0" "dimtfac" "0.6" "dimtp" tp "dimtm" tm "" e1 "")))
  )
  (princ)
)

发表于 2009-5-31 21:17:00 | 显示全部楼层
本帖最后由 作者 于 2009-6-1 12:43:07 编辑

游客,本帖隐藏的内容需要发帖数高于 5 才可浏览,你当前发帖数只有 0
 楼主| 发表于 2009-5-31 22:04:00 | 显示全部楼层
版大我试不出来~下面是我的对话框程序~
能帮我试试吗?? 我cad版本是2008有差吗??
还有{\H0.7x;\S  0^" ttm ";}这类写法是什么意思?
  1. toleranc : dialog {
  2.            label = "编辑尺寸公差";
  3.            : boxed_column {
  4.              label = "公差值";
  5.                : edit_box {
  6.                  label = "上偏差";
  7.                  key   = "dimtp";
  8.                  edit_width = 8;
  9.                }
  10.                : edit_box {
  11.                  label = "下偏差";
  12.                  key   = "dimtm";
  13.                  edit_width = 8;
  14.                }
  15.                spacer_1;
  16.            }
  17.            : button {
  18.              label = "恢复默认值";
  19.              key   = "comeback";
  20.            }
  21.     spacer;
  22.     ok_cancel;
  23. }
发表于 2009-6-1 12:44:00 | 显示全部楼层
4楼已改。再试试。
 楼主| 发表于 2009-6-1 16:55:00 | 显示全部楼层
版大可以了~谢谢~
发表于 2009-10-2 06:43:00 | 显示全部楼层
看看,学习
发表于 2009-10-2 06:46:00 | 显示全部楼层
水一个,帖子不够
发表于 2009-10-3 12:33:00 | 显示全部楼层

TOLERANC 尺寸公差标注
初始化.....
选定尺寸标注:Error: quit / exit abort

四楼的程序,运行出现这样的情况,请问版主是怎么回事

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

本版积分规则

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

GMT+8, 2025-6-12 11:27 , Processed in 0.195722 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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