vba在cad中画直线和圆弧多段线

vba在cad中画直线和圆弧多段线,第1张

VBA绘制的话,我只有绘制椭圆的时候才使用,因为椭圆分割后,发现VBA的计算角度才正确,autolisp计算的角度会有问题,查看属性会发现有偏差。

autolisp里面的entmake函数绘制速度很快,

1、直线

(entmake

(list

'(0

"LINE")

(cons

10

pt1)

(cons

11

pt2)))

2、两顶点多段线(多顶点类似)

(entmake

(list

'(0

"LWPOLYLINE")

'(100

"AcDbEntity")

'(100

"AcDbPolyline")

(cons

90

2)

(cons

10

pt1)

(cons

10

pt2)))

3、点表生成多段线

(entmake

(append

(list

'(0

"LWPOLYLINE")

'(100

"AcDbEntity")

'(100

"AcDbPolyline")

(cons

90

(length

lst)))

(mapcar

'(lambda

(pt)(cons

10

pt))

lst

)))

4、圆

(entmake

(list

'(0

"CIRCLE")

(cons

10

pt)

(cons

40

r)))

5、圆弧

(entmake

(list

'(0

"ARC")

(cons

10

pt)

(cons

40

r)

(cons

50

ang1)

(cons

51

ang2)))

必要的话,可以加入图层,颜色等元素,不用关闭捕捉,改变图层等。你可以试试。

用autocad计算模板的话,每个人的方法不同,我的方法就是:

求出墙柱的长度,然后这个长度乘以层高得到墙柱模板面积(autolisp可以轻易计算出多段线和直线的累加长度);比如层高29米,长度200米,那么面积=29×200(平方米)

现在在墙柱上增加梁,由于墙柱没有扣除梁口面积,所以计算的时候注意要扣除梁口面积,这个也可以用autolisp办到,在图纸上有梁的长度,并有梁的尺寸(如:300x400);由于autolisp不能够识别中文,而图纸里面的标注每个设计院的风格不同,所以要识别梁标注的话,需要自己学会编写autolisp,这个应当不难,我花了一个月的时间可以学会。我把梁模板面积(300x400)转换成多段线面积=梁的长度×03×(04×2+03)(两个梁高加梁底)-2×03×04(扣两个梁口面积);(如果实现了autolisp识别梁标注的话,可以框选整个图形就得到梁的多段线面积了,然后用autolisp来累加这个面积)

板的话就简单了,由梁与墙柱构成板得到由多段线围成的面积,并得到板的长度乘以板厚就扣除了所有的板厚了。

以上面积累加就是模板面积了。

至于楼梯就要根据实际情况计算了,有的楼梯是圆的,有的楼梯是剪刀楼梯,注意扣除板厚与梁口即可。

以上就是关于vba在cad中画直线和圆弧多段线全部的内容,包括:vba在cad中画直线和圆弧多段线、您好,我想求助你关于CAD图算模板量的方法,谢谢!、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9784760.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存