Teigha PRC:使用 OdPrcMarkupLinkedItem

OdPrcMarkupLinkedItem 有何用途?

OdPrcMarkupLinkedItem 类似于 OdPrcReference。作为 OdPrcReference,它可用于覆盖实体的位置、外观和线型。但与 OdPrcReference 不同,OdPrcMarkupLinkedItem 仅在切换视图时应用这些更改。因此,每个 OdPrcView 都有自己的一组 OdPrcMarkupLinkedItem 项,可以更改当前视图中实体的渲染。

OdPrcMarkupLinkedItem 的结构

OdPrcMarkupLinkedItem 存储在 OdPrcProductOcurrence 中:

OdPrcMarkups & OdPrcProductOccurrence::markups();
const OdPrcMarkups & OdPrcProductOccurrence::markups() const;
OdPrcObjectIdArray & OdPrcMarkups::linkedItem();
const OdPrcObjectIdArray & OdPrcMarkups::linkedItem() const;

OdPrcView 存储指向这些 OdPrcMarkupLinkedItem 的链接:

OdPrcObjectIdArray & OdPrcView::linkedItems();
const OdPrcObjectIdArray & OdPrcView::linkedItems() const;

OdPrcMarkupLinkedItem 有两个链接。

第一个链接指向图形参数被覆盖的实体:

OdPrcReferenceData & OdPrcMarkupLinkedItem::referenceData();
const OdPrcReferenceData & OdPrcMarkupLinkedItem::referenceData() const;

第二个链接指向包含此实体的树子部分:(*)<>/p

OdPrcReferenceData & OdPrcMarkupLinkedItem::referencedProductOccurrence();
const OdPrcReferenceData & OdPrcMarkupLinkedItem::referencedProductOccurrence() const;

实体的新的坐标系取自:

OdPrcObjectId & OdPrcMarkupLinkedItem::localCoordinateSystem();
const OdPrcObjectId & OdPrcMarkupLinkedItem::localCoordinateSystem() const;

实体的新的图形参数取自:(**)

OdPrcGraphics & OdPrcMarkupLinkedItem::graphics();
const OdPrcGraphics & OdPrcMarkupLinkedItem::graphics() const;

(*) 目前,第二个链接不影响实体渲染;其实现更类似于 Tech Soft 3D HOOPS® 而非 Adobe®。

(**) 对于 OdPrcMarkupLinkedItem,Adobe 忽略 OdPrcGraphics 的所有行为位,除了 PRC_GRAPHICS_Show,因此它不考虑子/父继承或 PRC_GRAPHICS_Removed。这就是我们将其实现为类似于 HOOPS 的原因:OdPrcMarkupLinkedItem 的工作方式类似于 OdPrcGraphics。

OdPrcMarkupLinkedItem 影响示例

这是文件的默认视图:

image1

下一张图片显示了我们正在切换到的 OdPrcView 的结构。您可以在 OdPrcView (283) 中看到 OdPrcMakrupLinkedItem 项的列表。您还可以看到 OdPrcMakrupLinkedItem (24A) 覆盖了实体 OdPrcProductOccurrence (50),因此对于此视图实体,我们将有:

  • OdPrcCategory1LineStyle (298) 作为其线型。
  • OdPrcCoordinateSystem (24B) 作为其位置。
  • (11 == PRC_GRAPHICS_Show | PRC_GRAPHICS_SonHeritShow | PRC_GRAPHICS_SonHeritColor) 作为其行为位字段。
image2

这是同一个文件,但切换到另一个视图:

image3

 

今天就开始行动

免费试用 ODA 软件 60 天。
无风险,无需信用卡。

免费试用