entmake生成圆环
本帖最后由 ljxkm 于 2019-8-14 09:05 编辑生成圆环:在实际绘图中,钢筋点筋的绘制采用绘制圆环“_donut”命令,该命令用lisp编程时没有对应的函数,采用command函数调用“_donut”命令总是不爽,故写了一个函数,采用entmake生成圆环:;;;;;; (emdonut d1 d2 p) 绘制填充的圆环;;;;;;参数: d1内径、d2外径、p圆心点(三维点),d1=d2>0时为直径为d1的园;;;;;示例:(emdonut05‘(0 00))在(0 0 0)点生成直径为5的填充的圆;;;;;(emdonut55‘(0 0 0))在(0 0 0)点生成直径为5的"LWPOLYLINE"圆,"LWPOLYLINE"宽度为零
Dxf码的ENTITIES 段"LWPOLYLINE"组码值含义如下:
组码值 说明
100 子类标记 (AcDbPolyline)
90 顶点数
70多段线标志(按位编码);默认值为 0: 1 = 关闭;128 = Plinegen
43固定宽度(可选;默认值 = 0)。如果设置为可变宽度(代码 40 和/或 41),则不使用
38 标高(可选;默认值 = 0)
39厚度(可选;默认值 = 0)
10顶点坐标(在 OCS 中),多个条目;每个顶点一个条目 DXF:X 值;APP:二维点
20DXF:顶点坐标的Y 值(在 OCS 中),多个条目;每个顶点一个条目
40起点宽度(多个条目;每个顶点一个条目)(可选;默认值 = 0;多个条目)。如果设置为固定宽度(代码 43),则不使用
41端点宽度(多个条目;每个顶点一个条目)(可选;默认值 = 0;多个条目)。如果设置为固定宽度(代码 43),则不使用
42凸度(多个条目;每个顶点一个条目)(可选;默认值 = 0)
210拉伸方向(可选;默认值 = 0, 0, 1)DXF:X 值;APP:三维矢量
220,230DXF:拉伸方向的Y 值和 Z 值(可选)
谢谢分享啊 本帖最后由 xyp1964 于 2019-8-12 13:27 编辑
;; (ComDonut 100 200 '(0 0))
(defun ComDonut (r1 r2 pt)
(cond ((< 0 r1 r2) (command "donut" r1 r2 "non" pt ""))
( (<= 0 r2 r1) (command "donut" r1 r1 "non" pt ""))
)
(entlast)
) 版主的简洁啊
页:
[1]