小妹丁 发表于 2010-6-4 21:54:00

[灌水]ZZXXQQ,请进来,看看。

<p>我用你的改标注尺寸编辑圆的程序,在模型空间和图纸空间(非浮动),作了比较,有这个结果:</p>
<p><font face="Verdana">模型空间:</font></p>
<p><font face="Verdana">命令: !ent1<br/>((-1 . &lt;图元名: 7ef03d90&gt;) (0 . "CIRCLE") (5 . "BE62") (102 . "{ACAD_REACTORS") <br/><font color="#0000ff">(330 . &lt;图元名: 7ef03ea0&gt;) </font>(330 . &lt;图元名: 7ef03f68&gt;) (102 . "}") (330 . &lt;图元名: <br/>7ef01cf8&gt;) (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "粗实线") (100 . <br/>"AcDbCircle") (10 102.134 132.913 0.0) (40 . 19.37) (210 0.0 0.0 1.0))</font></p>
<p><font face="Verdana">图纸空间:</font></p>
<p><font face="Verdana">命令: !ent1<br/>((-1 . &lt;图元名: 7ef03dd8&gt;) (0 . "VIEWPORT") (5 . "BE6B") (102 . <br/>"{ACAD_XDICTIONARY")<font color="#000000"> (360 . &lt;图元名: 7ef03de0&gt;) </font>(102 . "}") (102 . <br/>"{ACAD_REACTORS") <font color="#0000ff">(330 . &lt;图元名: 7ef03ea0&gt;) </font>(102 . "}") (330 . &lt;图元名: 7ef01ed0&gt;) <br/>(100 . "AcDbEntity") (67 . 1) (410 . "A4") (8 . "粗实线") (100 . "AcDbViewport") <br/>(10 112.995 95.76 0.0) (40 . 50.0) (41 . 67.7598) (68 . 2) (69 . 2) (12 102.134 <br/>132.913 0.0) (13 0.0 0.0 0.0) (14 10.0 10.0 0.0) (15 10.0 10.0 0.0) (16 0.0 0.0 <br/>1.0) (17 0.0 0.0 0.0) (42 . 50.0) (43 . 0.0) (44 . 0.0) (45 . 40.2593) (50 . <br/>0.0) (51 . 0.0) (72 . 1000) (90 . 557120) (281 . 0) (71 . 1) (74 . 0) (110 0.0 <br/>0.0 0.0) (111 1.0 0.0 0.0) (112 0.0 1.0 0.0) (79 . 0) (146 . 0.0) (170 . 0) (61 <br/>. 5) (348 . &lt;图元名: 7ef01fa8&gt;) (292 . 1) (282 . 1) (141 . 0.0) (142 . 0.0) (63 . <br/>250) (421 . 3355443))</font></p>
<p>&nbsp;</p>
<p>是不是意味着,再作改进其实也能用。注意:<font color="#0000ff">(330 . &lt;图元名: 7ef03ea0&gt;) </font></p>

ZZXXQQ 发表于 2010-6-5 15:42:00

本身程序是为实模式写的。如果能直接或稍加修改用在图纸模式也是不错的。

小妹丁 发表于 2010-6-6 00:44:00

<span style="FILTER: glow(color='#9898BA',strength='2'); WIDTH: 105px"><font color="#da2549" face="Verdana"><b>ZZXXQQ</b></font></span>有进度吗?

ZZXXQQ 发表于 2010-6-6 10:19:00

有进度了。

;可用于布局的圆尺寸驱动 明经 ZZXXQQ 2010.6.6
(defun c:tt ()
(if (and (setq s1 (entsel "\n选择圆标注 :"))
          (setq ent (entget(car s1)))
          (setq rr (cdr(assoc 42 ent)))
          (= (cdr(assoc 0 ent)) "DIMENSION")
          (= (cdr(assoc 100 (reverse ent))) "AcDbDiametricDimension")
          (setq en (cdr(assoc 330 ent)))
) (progn
(if (assoc 410 ent) (progn
   (setq ent1 (entget (cdr(assoc 331 (reverse (entget en)))))
         r (cdr(assoc 40 ent1)))
   (if (setq newr (getdist (strcat "\n新半径<" (rtos rr 2 3) "> :"))) (progn
    (setq nr (/ (* r newr) rr))
    (setq ent1 (subst (cons 40 nr) (assoc 40 ent1) ent1))
    (entmod ent1)
   ))
) (progn
   (setq ent1 (entget (cdr(assoc 331 (entget en))))
         r (cdr(assoc 40 ent1)))
   (if (setq newr (getdist (strcat "\n新半径<" (rtos r 2 3) "> :"))) (progn
    (setq ent1 (subst (cons 40 newr) (assoc 40 ent1) ent1))
    (entmod ent1)
   ))
))
))
(princ)
)

小妹丁 发表于 2010-6-6 13:23:00

<p>zzxxqq,很好了,半径应当是直径。</p>
<p>对直径标注有效,半径标注就无效了,好象是个问题。</p>
页: [1]
查看完整版本: [灌水]ZZXXQQ,请进来,看看。