neteasy 发表于 2003-9-18 19:57:00

我需要一个自动标注尺寸公差的程序。

我需要一个好用的自动标注尺寸公差的程序。我在明经通道下载的,使用起来感觉不太方便。

liyuwen 发表于 2003-9-20 14:11:00

您可以登录到http://xrsoft.nease.net下载XRCAD,试一试其中的工具。

岁月无身 发表于 2003-10-21 13:21:00

有xrcad的注册码吗?

zd81 发表于 2003-10-21 17:10:00

http://www.szty.com.cn/gmsoft/tools/DGJ.zip

simon06618 发表于 2003-10-31 15:18:00

注册码不能下,楼上的能不能直接贴出来!

typ 发表于 2003-11-1 14:39:00

本论坛下载中心有的

fishyu 发表于 2003-12-9 19:01:00

下载机械工程师2003,这个比较好用

yutianweidi 发表于 2010-12-5 19:01:35

(defun c:g1()
   (setq ss (entsel "\n请输入对称公差的尺寸:"))
    (setq ss (car ss))
    (setq en (entget ss '("*")))
    (setq lt1 (assoc 1 en))
    (setq lt11 (cdr lt1))
    (setq lt33 (getstring "请输入对称公差值:"))
    (cond ((= lt11 "") (setq lt22 (strcat "<>%%p" lt33)))
         (t (setq lt22 (strcat lt11 "%%p" lt33)))
    )
    (setq lt2 (cons 1 lt22))
    (setq en (subst lt2 lt1 en))
    (entmod en)

(PRINC "   -------OK-------")
(PRINC)
)   
       
;-----------------------------------------------
;---------------------------------------------------
(defun c:g2()
   (setq ss (entsel "\n请输入不对称公差的尺寸:"))
    (setq ss (car ss))
    (setq en (entget ss '("*")))
    (setq lt1 (assoc 1 en))
    (setq lt11 (cdr lt1))
    (setq lt33 (getstring "请输入上公差值:"))
    (setq lt44 (getstring "请输入下公差值:"))
    (cond ((= lt11 "") (setq lt22 (strcat "<>\\H.68x\\S" lt33 "^" lt44)))
         (t (setq lt22 (strcat lt11 "\\H.68x\\S" lt33 "^" lt44)))
    )
    (setq lt2 (cons 1 lt22))
    (setq en (subst lt2 lt1 en))
    (entmod en)

(PRINC "   -------OK-------")
(PRINC)
)   
       
;----------------------------------------------------------------------
;-----------------------------------------------------------------------
(defun c:g3()
(COMMAND "_.UNDO" "M")
(setq ss (entsel "\n请输入有公差的尺寸:"))
(setq ss (car ss))
    (setq en (entget ss '("*")))
    (setq lt1 (assoc 1 en))
    (setq lt22 (cdr lt1))
    (PROMPT "\n请选择修改区域:")
(SETQ ENTGRP (SSGET))
(SETQ COUNT 0)
(REPEAT (SSLENGTH ENTGRP)
    (SETQ ENTNAME (SSNAME ENTGRP COUNT))
    (SETQ ENT (ENTGET ENTNAME))
    (setq lt01 (assoc 1 ent))
    (setq lt011 (cdr lt01))
    (cond ((= lt011 "") (setq lt022 lt22))
         (t (exit))
    )
    (setq lt02 (cons 1 lt022))
    (setq ent (subst lt02 lt01 ent))
    (entmod ent)
    (SETQ COUNT (1+ COUNT))
)
(PRINC "\n共计修改尺寸")(PRINC COUNT) (PRINC "!!!")
(PRINC "   -------OK-------")
(PRINC)
)

hgf876 发表于 2010-12-5 21:34:09

我来一个给大家看看:
(defun c:htol
(/ dVal-tp dVal-tm ss1)

(setq dVal-tp (getreal "\nUpper value +<0.00>: ")) ;setq

(if
(not dVal-tp)

(setq dVal-tp 0.0)

)

(setq dVal-tm (getreal "\nLower value -<0.01>: ")) ;setq

(if
(not dVal-tm)

(setq dVal-tm 0.01)

)
;;;

(setq ss1 (ssget))

(if
(not ss1)

(exit)

)
;;;

(setvar "dimtol" 1)

(setvar "dimtp" dVal-tp)

(setvar "dimtm" dVal-tm)

(if
(< (abs (- (abs dVal-tp) (abs dVal-tm))) 0.0001) ;<

(progn (if (< (abs dVal-tm) 0.001)

(progn
(setvar "dimtp" 0.0)

(setvar "dimtm" 0.0)

(setvar "dimtol" 0)

) ;progn

) ;if

(setvar "dimtfac" 1.0)

) ;progn

(setvar "dimtfac" 0.8)

) ;if

(command "-dimstyle" "apply" ss1 "")

(setvar "dimtp" 0.0)

(setvar "dimtm" 0.0)

(setvar "dimtol" 0)

(princ)
)
;defun

669423907 发表于 2011-3-6 11:31:51

大师们真厉害!
页: [1]
查看完整版本: 我需要一个自动标注尺寸公差的程序。