求教一个尺寸标注的小问题
各位大侠:图中104.685尺寸不准确,能否像在AutoCAD中一样对中心线进行裁减?
图中红色尺寸如何标注?
给你点帮助:
可以用垂足捕捉,另给你一个尺寸界限修剪的LISP
(defun dfrmvz (p /)<BR> (if p (list (car p) (cadr p) 0.0))<BR>)<BR>(defun c:dimtr ( / n ss sn en pt10 pt13 pt14 ptx ptx1 ptx2 pt_1 pt_2 ang1 ang2<BR> oexo ose1 ose2)<BR> (if (and (setq pt_1 (getpoint "\n切断线第一点(切线要穿过尺寸线)<退出>: "))<BR> (setq pt_2 (getpoint pt_1 "\n切断线第二点(切线要穿过尺寸线)<退出>: "))<BR> (setq n 0 ss (ssget "F" (list pt_1 pt_2))))<BR> (progn<BR> (setq oexo (getvar "dimexo")<BR> ose1 (getvar "dimse1")<BR> ose2 (getvar "dimse2"))<BR> (setvar "dimexo" 0.0)<BR> (setvar "dimse1" 0)<BR> (setvar "dimse2" 0.0)<BR> (setq ptx (mapcar '(lambda (x y) (* 0.5 (+ x y))) pt_1 pt_2))<BR> (while (setq sn (ssname ss n))<BR> (setq n (1+ n) en (entget sn))<BR> (if (= "DIMENSION" (cdr (assoc 0 en)))<BR> (progn<BR> (setq pt10 (cdr (assoc 10 en)) pt13 (cdr (assoc 13 en)) pt14 (cdr<BR> (assoc 14 en)) ang1 (angle pt10 pt14) ang2 (+ ang1 (* 0.5 pi))<BR> pt10 (dfrmvz pt10) pt13 (dfrmvz pt13) pt14 (dfrmvz pt14)<BR> pt_1 (inters pt13 (polar pt13 ang1 1000.) pt10 (polar pt10 ang2 1000.)<BR> nil) ptx (dfrmvz ptx) pt_2 (polar ptx ang2 1000.))<BR> (if (and (setq ptx1 (inters pt10 pt14 ptx pt_2 nil))<BR> (setq ptx2 (inters pt_1 pt13 ptx pt_2 nil)))<BR> (progn<BR> (setq en (subst (cons 14 ptx1) (assoc 14 en) en)<BR> en (subst (cons 13 ptx2) (assoc 13 en) en))<BR> (entmod en)<BR> )<BR> )<BR> )<BR> )<BR> )<BR> (setvar "dimexo" oexo)<BR> (setvar "dimse1" ose1)<BR> (setvar "dimse2" ose2)<BR> )<BR> )<BR> (princ)<BR>) 不好意思,还是不明白。垂足捕捉在哪?
另外,我只想裁减中心线,不是非得用LISP吧?Inventor里应该可以标注这种尺寸吧?I 又有一个问题:图中的红色框线为什么没有自动隐藏?怎样使它看不见? 鼠标在工程图的空白处点击一下,看看。 鼠标点击空白处当然不行,要不我问啥?没有人遇到这种情况吗? 问的是太低级了,想弄清是否已进入“死锁”。因为我这里在三台不同的机器上都无法整出您说的两个红虚线框。
页:
[1]