多边形-角度
大家好,所以我必须测量一些非正交墙的房间,这是我第一次放置多个角度尺寸。
我以为我已经有了这样的例程,但我找不到它,所以我再次重新排列了PDIM线程,并感到失望,如果我有这样的例程,我就没有从那里得到它。
也许我是从cadalyst.com上的CAD提示中得到的-whateva。
那是很久以前的事了,所以现在我不得不写我的版本:
[颜色=#8b4513];多边形角度;多段线尺寸,使用角度尺寸(defun C:测试(/SS off spc mid i enx pL)(setq SS(ssget“_1-i”'((0。[颜色=#2f4f4f]“LWPOLYLINE”(-4。“”; (setq off(getdist“\n指定维度偏移:“](*4(cdrOC 41(tblsearch“DIMSTYLE”(getvar'DIMSTYLE)]]]]];DIMASZ(setq spc(vla get Block(vla get ActiveLayout(vla get ActiveDocument b](vlax get acad object)[红色]][蓝]][] (setq mid(lambda(p1p2)(函数(lambda(a b)(*0.5(+a b)p1p2(repeat(setq i(sslength SS))。(setq enx(entget(ssname SS(setq i(1-i) (setq pL(mapcar'cdr(vl如果没有删除(lambda(x)(=10(car x)enx(应用(函数附加(mapcar(函数(lambda(x)(=10(car x)(cdr x灰色)enx(和(logand 1(cdr(assoc 70 enx)[颜色=蓝色];闭合的(setq pL(append(last pL)((car pL)));和(mapcar(lambda(a b c/vtx p1 p2 o p)(和a b c(setq vtx b)(]setq p1(polar b(angle b a)(setq p2(polar b(angle b c)off橄榄色)(setq o(apply'vla ADDDDIMANGUAL;RetVal=object.ADDDDIMANGUAL(角度顶点,第一端点,第二端点,文本点)(mapcar的vlax-3D-point(列出vtx p1 p2;(mid p1 p2); 干得好! c'est magnifique:获胜者: 谢谢大家,也许这会对一些人有所帮助。 做得好,谢谢分享! 不大于180是好的。 这是我的老歌。。。
http://forums.augi.com/showthread.php?168619-自动标注选定多段线多边形的所有边和角度
M、 R。
也许这就是我想要的常规。。。
FWIW,如果要添加限制,使其不标注明显的角度,如0/90/180/270/360:
将lambda表达式替换为:
(λ(a b c/ang vtx p1 p2 o p)(和a b c(setq ang(LM:GetInsideAngle a b c))(cond((vl some(函数(λ(x)(等于ang(*x PI)1e-4)))'(0.0 0.5 1.0 1.5 2.0));限制角度,并调整模糊因子。。。((setq vtx b)(setq p1(polar b(angle b a)off))(setq p2(polar b(angle b c)off))(setq o(apply‘vla AddDimAngular;RetVal=object。AddDimAngular(AngleVertex,FirstEndPoint,SecondEndPoint,TextPoint)(cons spc(mapcar’vlax-3D-point)(列出vtx p1 p2;(mid p1 p2));
页:
[1]