基本信息
文件名称:CAD统计多条线段长度程序及程序加载方法.pdf
文件大小:102.62 KB
总页数:6 页
更新时间:2025-03-31
总字数:约6.91千字
文档摘要

用下面的这个程序可以,加载后执行命令:mulen

(defunc:mulen()

(setqi1s0)

(prompt

选择直线:)

(setqss(ssget))

(setqleng(sslengthss))

(setqnamelist(list(ssnamess0)))

(repeat(1-leng)(setqnamelist(appendnamelist(list(ssnamess

i))))(setqi(1+i)))

(foreachnamenamelist

(setqnameall(entgetname))

(setqps(cdr(assoc10nameall)))

(setqpe(cdr(assoc11nameall)))

(setqpsx(carps))

(setqpsy(cadrps))

(setqpsz(caddrps))

(setqpex(carpe))

(setqpey(cadrpe))

(setqpez(caddrpe))

(setqx(-psxpex))

(setqy(-psypey))

(setqz(-pszpez))

(setqlength(sqrt(+(exptx2)(expty2)(exptz2))))

(setqs(+slength))

)

(princ(strcat

直线总长为:(rtoss)))

(princ)

){:em27}

上述为程序内容,然后存为:“文件名.lsp”,再从CAD里用appload命令加载

此文件。

这里有一个程序,你可以用用看,

命令为AM

对line,arc,eispe,spline,polyline,lwpolyline,circle,mline,solid均有效。

你既可统计长度,也可统计面积,或者两者都统计。

如果你对精确位不满意,你可以改动程序中的数字(我已经在程序注释中说明)。

;;;===================

;;;面积和长度统计程序

;;;highflybirdkunming

;;;===================

(prompt命令为:AM)

(defunC:am(/

fssiSSareatotlen

entlen

enamenameobjtext-Stext-LinsPt0heigh

t

insPt1insPt2text-1text-2*APP*DOC*MSP

)

(vl-load-com)

(setq*APP(vlax-get-acad-object))

(setq*DOC(vl-get-activeDocument*APP))

(setq*MSP(vl-get-Modelspace*DOC))

(initget1123)

(setqf(getkword\n请输入你要统计的1面积2长度3两者:))

(if

(and

(setqss(ssget))

(setqinsPt0(getpoint\n请输入文字插入点:))

(setqhei