CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2020 开发者帮助

worldDraw() 函数

2024-5-18 18:26| 发布者: admin| 查看: 95| 评论: 0|原作者: admin|来自: AutoCAD

worldDraw() 函数

该函数是可绘制对象显示自身的主要机制。在此回调中,可绘制对象使用 和 接口告诉 AcGi 实现此可绘制对象应如何在所有活动视口中表示。对于特定于某些视口的信息,将提供回调(请参阅 viewportDraw() 函数)。 worldDraw()AcGiSubEntityTraitsAcGiWorldGeometryviewportDraw()

该函数采用指向对象的指针。 是 AcGi 几何体和特征对象的容器类。具体而言,包含另外两个对象:AcDbEntity::subWorldDraw()AcGiWorldDrawAcGiWorldDrawAcGiWorldDraw

  • AcGiWorldGeometry
  • AcGiSubEntityTraits

可以使用函数从内部访问对象,也可以使用函数访问对象。AcGiWorldGeometrysubWorldDraw()AcGiWorldDraw::geometry()AcGiSubEntityTraitsAcGiWorldDraw::subEntityTraits()

该对象使用其一组图形图元将矢量写入 AutoCAD 的显示。基元是用于绘制图形实体的最低级指令。世界几何对象具有以下函数,用于在世界坐标中绘制基元,这些基元继承自 :AcGiWorldGeometryAcGiGeometry

  • 圆弧
  • 折线
  • 多边形
  • 网孔
  • 发短信
  • Xline系列
  • 射线

draw 方法允许您指定要用作几何体一部分的另一个可绘制对象。这可能是另一个实体或内存中的可绘制对象。AcGi 在此对象上使用的逻辑与在对象上使用的逻辑相同。 setAttributes()worldDraw()viewportDraw()

该对象使用其特征函数集设置图形属性值:AcGiSubEntityTraits

  • 颜色
  • 线型
  • 多边形填充类型
  • 选择标记
  • 线宽
  • 厚度
  • 打印样式名称(不应在 或worldDraw()viewportDraw())

传递的对象应与相应的“图形模型”一样长。如果你想重用 ,那么你应该通过它来委托你的对象,而不是使用 。例如,以下代码示例将生成错误:draw()worldDraw()draw()

MyCustomObject::subWorldDraw(AcGiWorldDraw* draw) {
    AcDbCircle circle;
    draw->geometry().draw(&circle);
}

请改用任一

MyCustomObject::subWorldDraw(AcGiWorldDraw* draw) {
    AcDbCircle circle;
    circle.worldDraw(draw);
}

或者也许

MyCustomObject::subWorldDraw(AcGiWorldDraw* draw) {
//m_circle is a member of MyCustomObject
    draw->geometry().draw(&m_circle);
}

父主题:

  1. AcGi概览

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2025-3-5 18:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部