mxcad_2d API 文档 / 2d / MxCADWorldDraw
Class: MxCADWorldDraw
2d.MxCADWorldDraw
MxCAD 的绘图上下文,用于在自定义实体的 worldDraw 阶段执行图形渲染与图层设置。
Description
该类封装了底层绘图设备的调用入口,提供了 drawEntity、drawOsnapEntity、set trueColor、set lineWeight 等能力, 用于在 AutoCAD 中进行自定义图形的显示、捕捉和样式控制。 常见用途包括:
- 绘制多段线、圆、文字等实体;
- 设置当前颜色、线型、线宽和图层;
- 根据自定义实体的几何数据进行重绘;
- 处理对象的捕捉和显示效果。
使用方式:
- 在自定义实体的 worldDraw(draw: MxCADWorldDraw) 方法中获取当前绘图上下文;
- 调用 drawEntity() 或 drawOsnapEntity() 绘制实体;
- 通过 trueColor、layerId、lineTypeScale 等属性设置渲染状态;
- 在需要时使用 getDatabase() 获取当前数据库环境。
总结:MxCADWorldDraw 是自定义实体渲染的核心入口,开发者通常在 worldDraw 中使用它来将对象真正显示在 CAD 界面中。
Example
import { McDbCustomEntity, McDbPolyline, McGePoint3d, MxCADWorldDraw } from "mxcad";
class McDbTestLineCustomEntity extends McDbCustomEntity {
private pt1: McGePoint3d = new McGePoint3d();
private pt2: McGePoint3d = new McGePoint3d();
public create(imp?: any): McDbCustomEntity {
return new McDbTestLineCustomEntity(imp);
}
public getTypeName(): string {
return "McDbTestLineCustomEntity";
}
public dwgInFields(filter: any): boolean { return true; }
public dwgOutFields(filter: any): boolean { return true; }
public worldDraw(draw: MxCADWorldDraw): void {
const pl = new McDbPolyline();
pl.addVertexAt(this.pt1);
pl.addVertexAt(this.pt2);
pl.addVertexAt(new McGePoint3d(0, 10, 0));
draw.drawEntity(pl);
}
}Table of contents
Constructors
Properties
Accessors
Methods
Constructors
constructor
• new MxCADWorldDraw(lPtrWorldDraw)
构造函数
Parameters
| Name | Type | Description |
|---|---|---|
lPtrWorldDraw | number | 传递指向绘图设备的指针 |
Properties
imp
• imp: any
内部对象实现
Accessors
layerId
• get layerId(): McObjectId
Returns
• set layerId(val): void
设置或获取当前使用的图层
Parameters
| Name | Type | Description |
|---|---|---|
val | McObjectId | 图层id |
Returns
void
lineTypeId
• get lineTypeId(): McObjectId
Returns
• set lineTypeId(val): void
设置或获取当前使用的线型id
Parameters
| Name | Type | Description |
|---|---|---|
val | McObjectId | 线型id |
Returns
void
lineTypeScale
• get lineTypeScale(): number
Returns
number
• set lineTypeScale(val): void
设置或获取当前使用的线型比例
Parameters
| Name | Type | Description |
|---|---|---|
val | number | 线型比例 |
Returns
void
lineWeight
• get lineWeight(): LineWeight
Returns
• set lineWeight(val): void
设置或获取当前使用的线重
Parameters
| Name | Type | Description |
|---|---|---|
val | LineWeight | 使用的线重 |
Returns
void
trueColor
• get trueColor(): McCmColor
Returns
• set trueColor(val): void
设置或获取颜色
Parameters
| Name | Type | Description |
|---|---|---|
val | McCmColor | 颜色对象(McCmColor) |
Returns
void
Methods
drawEntity
▸ drawEntity(entity): void
绘制实例对象
Parameters
| Name | Type |
|---|---|
entity | McDbEntity |
Returns
void
drawOsnapEntity
▸ drawOsnapEntity(entity): void
绘制一个用于捕捉使用的对象.
Parameters
| Name | Type |
|---|---|
entity | McDbEntity |
Returns
void
getDatabase
▸ getDatabase(): McDbDatabase
返回worddraw当前绘制的数据库。
Returns
getType
▸ getType(): MxCADWorldDrawType
得到worddraw type
Returns
initType
▸ initType(type): void
初始化worddraw type
Parameters
| Name | Type |
|---|---|
type | MxCADWorldDrawType |
Returns
void
setupForEntity
▸ setupForEntity(entity): boolean
使Draw对象使用使用entity的属性
Parameters
| Name | Type |
|---|---|
entity | McDbEntity |
Returns
boolean
