自动距离
大家好,我想知道在autocad 2007/2009中是否有一种方法,可以单击一条直线并由autocad提供长度,而无需进行距离计算和选择两个端点。理想情况下,我希望能够单击50条不同的线,所有线的长度都不同,并让autocad告诉我它们有多长(我想快速完成这项工作,因此逐个单击一行并查看属性并不是一个真正的选项。如果可能的话,是否有办法让autocad制作一个快速表格,即:第1行=500mm,第2行=470mm。如果可以将其放入excel文件,效果会更好。谢谢 我只需要键入DISTANCE或将命令重新分配给d,就像iv'e所做的那样,因为如果im right d代表Dia。默认情况下(仅在绘制圆时注意),默认情况下会打开dim样式管理器! 谢谢,但那真的没用。我知道如何通过计算距离来得到一条直线的长度,但我用我所做的绘制了50-100条不同长度的直线。我希望能够在一条线上单击一次,然后autocad告诉我线的长度,而不是键入D,然后单击第一条线的起点,然后单击该线的终点,然后它告诉我距离,然后对其他线重复这些步骤。然后对其他大约一百行继续此操作,希望autocad能够将所有长度列在旁边,或者将其放入excel文件中。即使打开“属性”菜单也不会使这个过程更快,因为我仍然需要单击一行,查看长度并记下来,按Esc键(取消选择该行),然后选择下一行。希望这能澄清我在寻找什么。 大家都知道怎么做了,现在不用回复了谢谢 你打算和我们分享这条信息吗?我知道我可能需要在某个时候这样做。谢谢 当然,我没有想过把它放在这里,因为我在这个网站上找到了它(经过一段时间的搜索)
我不知道如何在大多数人使用的盒子中完成,但代码是这样的:
(定义c:LST(/名称文件ss ssi enl ln ar ci c2s)
;----------------------------
(defun ln(l f);在文件f中记录一行l
(写入行(strcat“line,”
(c2s(cdr(assoc 10 l)))
(c2s(cdr(assoc 11 l)))
(rtos(距离
(cdr(assoc 10 l))
(cdr(assoc 11 l ϨϨϨ)f)
)
;----------------------------
(defun ar(l f/c r u1 u2);记录弧
(setq c(cdr(assoc 10 l));居中
r(cdr(assoc 40 l));半径
u1(cdr(assoc 50 l));开始
u2(cdr(assoc 51 l));。。。和端角
)
(写入行(strcat“ARC,”
(c2s(极性c u1 r))
(c2s(极性c u2 r))
(rtos(*r(abs(-u2 u1)))”
(c2s c)(rtos r))f)
)
;-----------------------------
(defun ci(左/右);记录圆
(setq r(cdr(assoc 40 l));半径
(写入行(strcat“CIRCLE,,,,,,,,”
(rtos(*2 PI r))“,”
(c2s(cdr(assoc 10 l)))
(rtos(cdr(assoc 40 l)))f)
)
;----------------------------
(x);用于转换字符串中的坐标
(strcat(rtos(car x))“,”(rtos(cadr x))“,”(rtos(caddr x))“,”)
)
;----------------------------
(setq名称(getvar“dwgname”))
(如果(=“)(子字符串名称(-strlen name)3)1)
(setq名称(substr名称1(-strlen名称)4)))
(setq文件(打开)(GetField“输出文件…”名称“CSV”1“w”)
ss(ssget)ssi-1)
(写入行
“Typ,Start X,Start Y,Start Z,End X,End Y,EndZ,Length,cen X,cen Y,cenZ,Radius”
文件)
(如果ss
(程序
(重复(sslength ss)
(setq enl(entget(ssname ss(setq ssi(1+ssi)Ю))))
(条件
((=“LINE”(cdr(assoc 0 enl)))(ln enl文件)
((=“ARC”(cdr(assoc 0 enl)))(ar enl文件)
((=“CIRCLE”(cdr(assoc 0 enl)))(ci enl文件)
)
))) ;如果SS结束
(关闭文件)
(普林斯)
)
这将把信息放在一个单独的excel表格中。现在我已经完成了,我想知道是否有人可以帮我做另外两件事:我希望代码能够在excel电子表格的末尾添加另一列(在行长之后),将长度乘以6.2,即:长度显示为200mm,结束列将显示1240。此外,我所做的每一行代表许多行,即画一条线,但它代表2-5行之间。我希望代码能够问我多少行每一个代表后,我点击每一行。因此,excel电子表格到最后将包含它现在所做的一切,以及一个将长度乘以6.2的列和一个包含它所代表的行数的列。希望这是有意义的,任何帮助都将不胜感激。 作为一个补充,你能把你的代码放在括号里吗,因为这样更容易阅读。
干杯 从现在开始,我没有意识到这只是需要选择的代码标签,我对此还是新手 没有问题gazzalp 有人知道如何获得代码,将一个单元格添加到电子表格中,该单元格将把行长度乘以6.2吗?谢谢你的帮助
页:
[1]
2