[讨论]序号标注
<p>下面是一个序号标注的程序(不需要引出线),现在想将程序更改一下使在一份图纸里面假设有1~100的尺寸标注,</p><p>如果增加了一个51的标注,使得51后面的编号自动更改,即原来的51~100的编号自动加1变成了52~101。希望高人指点,谢谢!</p><p>(defun c:nd()<br/> (setq sc (getdist"select a point to point从一点到另一点确定字体高度"))<br/> (setq bn (getint" Input begin number输入起始序号:"))<br/> <br/> (while(> bn 0)<br/> (setq p1 (getpoint))<br/> (command "circle" p1 "d" sc)<br/> (setq sc1 (* sc 0.53))<br/> (command "text" "j" "m" p1 sc1 "" bn)<br/> (setq bn (+ bn 1))<br/> (princ) )<br/> <br/> )</p> 简单实用,非常感谢!挖挖坑,但是真解决了我的需要 谢谢分享我来学习的谢谢分享我来学习的 谢谢分享谢谢分享谢谢分享谢谢分享 本帖最后由 作者 于 2008-6-3 20:32:34 编辑再试试。
;序号加一 明经 ZZXXQQ 2008.5.26,2008.6.3
(defun c:nd ()
(setvar "CMDECHO" 0)
(setq sc (getdist "\nselect a point to point 从一点到另一点确定字体高度 :"))
(setq bn (getint "\nInput begin number 输入起始序号:"))
(setq sc1 (* sc 0.53))
(while (setq p1 (getpoint "\nInsert Point :"))
(command "circle" p1 "d" sc)
(command "text" "j" "m" p1 sc1 "" bn)
(setq s1 (entlast))
(setq txtn (itoa bn))
(setq bn (1+ bn))
(while (and (setq ss (ssget "X" (list '(0 . "TEXT") (cons 1 txtn))))
(= (sslength ss) 2))
(setq ss (ssdel s1 ss)
s1 (ssname ss 0)
ent (entget s1)
txtn (itoa (1+ (atoi txtn)))
ent (subst (cons 1 txtn) (assoc 1 ent) ent))
(entmod ent)
)
)
(setvar "CMDECHO" 1)
(princ)
)
测试了一下,好像不行呢,版主再帮忙看看 二楼已改。 好像程序不能实现楼主的要求。 只输入一个程序就跳出了啊,没有办法连续输入了, 二楼已改。再试试。 本帖最后由 作者 于 2008-6-3 21:04:39 编辑 <br /><br /> <p>版主有没有提取cad标注尺寸(包括公差)到excel的程序,有时间教教我们,谢谢你!</p><p>1、自动提取AutoCAD文档中的所有标注尺寸值、公差值和用户设定的默认公差; </p><p>2、 根据用户需要为AutoCAD文档中的标注尺寸自动标上序号并与相应尺寸相关联; <br/>3、 如果用户AutoCAD文档中的标注尺寸已经标上序号,它将序号与和它最近的尺寸值相关联; <br/>5、 将AutoCAD文档中的标注尺寸信息传送到Excel表单中,输入测量信息,生成FAI报表</p> 可以了,版主好厉害哦,好好象版主学习,版主有没有提取文档中全部CAD标注尺到EXCEL的程序啊,有时间教教我们,太感谢你了! <p>学习学学</p><p></p>