使用entmake可以填充圆吗?是怎么实现的?
使用entmake创建填充,论坛里看到最多的就是(entmake (list '(0 . "SOLID") (cons 10 pt1)(cons 11 pt2) (cons 12 pt4) (cons 13 pt3)))
我想请教的是:如果我想使用entmake函数对一个已经存在的圆(设其图元名为e1)填充图案,应该怎么实现?
问题再扩展一下:我有一个封闭图元e2,如何使用entmake函数对e2进行图案填充?
DXF 参考 > ENTITIES 段 >
HATCH
以下组码适用于图案填充和 MPolygon 图元。除此处所述的组码以外,另请参见常用图元组码。关于此表中使用的缩写和格式方面的信息,请参见本参考的格式惯例。
图案填充组码
组码
说明
100
子类标记 (AcDbHatch)
10
标高点(在 OCS 中)
DXF:X 值 = 0;APP:三维点(X 和 Y 始终等于 0,Z 表示标高)
20, 30
DXF:标高点的 Y 值和 Z 值(在 OCS 中)
Y 值 = 0,Z 表示标高
210
拉伸方向(可选;默认值 = 0, 0, 1)
DXF:X 值;APP:三维矢量
220, 230
DXF:拉伸方向的 Y 值和 Z 值
2
填充图案名
70
实体填充标志(实体填充 = 1;图案填充 = 0);对于 MPolygon,为 Mpolygon 的版本
63
对于 Mpolygon,图案填充颜色为 ACI
71
关联性标志(关联 = 1;无关联 = 0);对于 Mpolygon,为实体填充标志(有实体填充 = 1;无实体填充 = 0)
91
边界路径(环)数
多种
边界路径数据。重复代码 91 指定的次数。参见边界路径数据
75
图案填充样式:
0 = 填充“奇数奇偶校验”区域(普通样式)
1 = 仅填充最外层区域(“外部”样式)
2 = 填充整个区域(“忽略”样式)
76
填充图案类型:
0 = 用户定义;1 = 预定义;2 = 自定义
52
填充图案角度(仅限图案填充)
41
填充图案比例或间距(仅限图案填充)
73
对于 Mpolygon,为边界注释标志(边界是注释边界 = 1;边界不是注释边界 = 0)
77
填充图案双标志(仅限图案填充):
0 = 不是双标志;1 = 双标志
78
图案定义直线数
多种
图案直线数据。代码 78 指定的重复次数。参见图案数据
47
在相关图案填充和使用图案填充的“填充”方法创建的图案填充的填充图案计算中,用于确定执行各种相交和射线法操作的密度的像素大小。
98
种子点数
11
对于 MPolygon,为偏移矢量
99
对于 MPolygon,为退化边界路径(环)数(退化边界路径是图案填充忽略的边框)
10
种子点(在 OCS 中)
DXF:X 值;APP:二维点(多个条目)
20
DXF:种子点的 Y 值(在 OCS 中);(多个条目)
450
表示实体图案填充或渐变色;如果是实体图案填充,则剩余代码的值将被忽略,但必须存在。可选;如果代码 450 在文件中,下列代码也必须在文件中:451、452、453、460、461、462 和 470。如果代码 450 不在文件中,下列代码也必须不在文件中:451、452、453、460、461、462 和 470
0 = 实体图案填充
1 = 渐变色
451
保留零供以后使用
452
记录如何定义颜色,以及如何仅由对话框代码使用:
0 = 双色渐变
1 = 单色渐变
453
颜色数:
0 = 实体填充
2 = 渐变色
460
以弧度表示的渐变色的旋转角度(默认值 = 0, 0)
461
渐变色定义;对应于“边界图案填充”对话框“渐变色”选项卡中的“居中”选项。每个渐变色有两个定义,移动和非移动。“移动”值描述了应使用的两种定义的过渡。值 0.0 表示应仅使用非移动版本,值 1.0 表示应仅使用移动版本。
462
对话框代码使用的色调值(默认值 = 0, 0;范围从 0.0 到 1.0)。色调值是一个渐变色,用于当图案填充组码 452 设置为 1 时,控制对话框中的色调度。
463
保留供以后使用:
0 = 第一个值
1 = 第二个值
470
字符串(默认值 = 线性)
(ENTMAKE (LIST
'(0 . "HATCH")
'(100 . "AcDbEntity")
'(100 . "AcDbHatch")
'(10 0.0 0.0 0.0)
'(210 0.0 0.0 1.0)
'(2 . "SOLID")
'(70 . 1)
'(71 . 0)
'(91 . 1)
'(92 . 1)
'(93 . 1)
'(72 . 2)
'(10 4000 4000 0.0);圆心
'(40 . 2000);半径
'(50 . 0.0)
'(51 . 6.28319)
'(73 . 1)
'(97 . 0)
'(75 . 1)
'(76 . 1)
'(98 . 1)
'(10 0 0 0.0)
)) hatch 的 dxf 数据结构很复杂,需要分步构造。
liuhe 发表于 2022-10-16 17:32
DXF 参考 > ENTITIES 段 >
HATCH
谢谢您的指导 tigcat 发表于 2022-10-16 21:32
(ENTMAKE (LIST
'(0 . "HATCH")
'(100 . "AcDbEntity")
多谢大神指导 vitalgg 发表于 2022-10-17 11:15
hatch 的 dxf 数据结构很复杂,需要分步构造。
多谢大神指导 天天问 发表于 2022-10-17 15:53
多谢大神指导
我菜鸟,照葫芦画瓢,希望帮到 tigcat 发表于 2022-10-16 21:32
(ENTMAKE (LIST
'(0 . "HATCH")
'(100 . "AcDbEntity")
顶起来,这个代码不错,可惜的是,点位少,最好是生成的填充,有上下,左右4个点,以u方便,对包容框,中心线的去点支持。希望能改下。
页:
[1]